mirror of
				https://tildegit.org/ben/dotfiles.git
				synced 2025-08-10 05:02:03 +00:00 
			
		
		
		
	switch to autojoinem.py
This commit is contained in:
		
							parent
							
								
									67829c71a4
								
							
						
					
					
						commit
						9cd6bc92ba
					
				@ -189,7 +189,7 @@ tilde.local_hostname
 | 
			
		||||
tilde.usermode
 | 
			
		||||
tilde.command = "/msg operserv login ${sec.data.pass}"
 | 
			
		||||
tilde.command_delay
 | 
			
		||||
tilde.autojoin = "#meta,#admin,#opers,#music,#politics,#gopher,#tildeverse,#idlerpg,#tilderadio,#minecraft,#cosmic,#institute,#.tilde,#tildetel,#thunix,#theasylum,#aussie,#projects,#hamradio,#vim,#pink,#bots,#ctrl-c,#radiofreqs,#envs,#gemini,#club,#zine,#team,#geocities,#helpdesk,#counting,#covid19,#rw.rs,#counting-meta,#irctokens,#linux,#fr,#factorio,#nsfw,#crawl,#mumble,#tilderadio-djs,#tilde.zone-admin,#tildebot,#submeta,#coffee,#envs_german,#wtf,#beer,#espanol,#meta_german,#tildelinux,#sus,#anelki,#bread,#secret-sudoers,#UT99,#prepping,##ekbots,#bungame,#texto-plano,#netnews,#red :10:20,adminsonly"
 | 
			
		||||
tilde.autojoin = "#admin,#opers,#music,#tildeverse,#cosmic,#.tilde,#tildetel,#thunix,#theasylum,#aussie,#projects,#vim,#pink,#club,#zine,#geocities,#counting,#rw.rs,#counting-meta,#irctokens,#linux,#fr,#factorio,#tilde.zone-admin,#tildebot,#envs_german,#meta_german,#sus,#secret-sudoers,#prepping,##ekbots,#texto-plano,#netnews,#red,#covid19,#coffee,#minecraft,#espanol,#politics,#gopher,#UT99,#tilderadio-djs,#tilderadio,#ctrl-c,#anelki,#institute,#bread,#nsfw,#envs,#bots,#gemini,#team,#meta adminsonly"
 | 
			
		||||
tilde.autorejoin
 | 
			
		||||
tilde.autorejoin_delay
 | 
			
		||||
tilde.connection_timeout
 | 
			
		||||
@ -232,7 +232,7 @@ hashbang.local_hostname
 | 
			
		||||
hashbang.usermode
 | 
			
		||||
hashbang.command
 | 
			
		||||
hashbang.command_delay
 | 
			
		||||
hashbang.autojoin = "#!opers,#!os,#!social,#!,#!cast"
 | 
			
		||||
hashbang.autojoin = "#!opers,#!os,#!social,#!cast,#!"
 | 
			
		||||
hashbang.autorejoin
 | 
			
		||||
hashbang.autorejoin_delay
 | 
			
		||||
hashbang.connection_timeout
 | 
			
		||||
@ -275,7 +275,7 @@ town.local_hostname
 | 
			
		||||
town.usermode
 | 
			
		||||
town.command
 | 
			
		||||
town.command_delay
 | 
			
		||||
town.autojoin = "#tildetown,#bots,#counting,#counting-meta,#admins,#announcements,#politics"
 | 
			
		||||
town.autojoin = "#bots,#admins,#announcements,#politics,#tildetown,#counting,#counting-meta"
 | 
			
		||||
town.autorejoin
 | 
			
		||||
town.autorejoin_delay
 | 
			
		||||
town.connection_timeout
 | 
			
		||||
@ -318,7 +318,7 @@ esper.local_hostname
 | 
			
		||||
esper.usermode
 | 
			
		||||
esper.command
 | 
			
		||||
esper.command_delay
 | 
			
		||||
esper.autojoin = "#lobby,#coders,#factorio 10:30"
 | 
			
		||||
esper.autojoin = "#coders,#factorio,#lobby"
 | 
			
		||||
esper.autorejoin
 | 
			
		||||
esper.autorejoin_delay
 | 
			
		||||
esper.connection_timeout
 | 
			
		||||
@ -361,7 +361,7 @@ sdf.local_hostname
 | 
			
		||||
sdf.usermode
 | 
			
		||||
sdf.command
 | 
			
		||||
sdf.command_delay
 | 
			
		||||
sdf.autojoin = "#sdf,#gopher,#spanish :kick:20:75"
 | 
			
		||||
sdf.autojoin = "#gopher,#spanish,#sdf"
 | 
			
		||||
sdf.autorejoin
 | 
			
		||||
sdf.autorejoin_delay
 | 
			
		||||
sdf.connection_timeout
 | 
			
		||||
@ -447,7 +447,7 @@ oftc.local_hostname
 | 
			
		||||
oftc.usermode
 | 
			
		||||
oftc.command
 | 
			
		||||
oftc.command_delay
 | 
			
		||||
oftc.autojoin = "#debian-devel,#fish"
 | 
			
		||||
oftc.autojoin = "#fish,#debian-devel"
 | 
			
		||||
oftc.autorejoin
 | 
			
		||||
oftc.autorejoin_delay
 | 
			
		||||
oftc.connection_timeout
 | 
			
		||||
@ -490,7 +490,7 @@ freenode.local_hostname
 | 
			
		||||
freenode.usermode
 | 
			
		||||
freenode.command
 | 
			
		||||
freenode.command_delay
 | 
			
		||||
freenode.autojoin = "#weechat,##oodnet,#lobsters,#gitea,#mastodon,#pleroma,#oragono,#sr.ht,#cmpwn,#bitbot,#gophernicus,##jan6,#ascii.town,##ircv3-chat,#futel,#trashtown,#weechat-android,#ovh,#tilde.team,#fosshost,#fosshost-meet,#fosshost-dev,##crustaceans,##irctokens,#borgmatic,#fosshost-volunteers,#fosshost-social,#mailman,#ubuntu-packaging,#among-sus,#borgbackup 6:10"
 | 
			
		||||
freenode.autojoin = "##oodnet,#gophernicus,##jan6,##ircv3-chat,#trashtown,#tilde.team,#fosshost-dev,##irctokens,#fosshost-volunteers,#among-sus,#mailman,#ascii.town,#mastodon,#cmpwn,#lobsters,#oragono,##crustaceans,#bitbot,#ovh,#borgmatic,#weechat-android,#gitea,#fosshost,#pleroma,#sr.ht,#weechat"
 | 
			
		||||
freenode.autorejoin
 | 
			
		||||
freenode.autorejoin_delay
 | 
			
		||||
freenode.connection_timeout
 | 
			
		||||
@ -576,7 +576,7 @@ inspircd.local_hostname
 | 
			
		||||
inspircd.usermode
 | 
			
		||||
inspircd.command
 | 
			
		||||
inspircd.command_delay
 | 
			
		||||
inspircd.autojoin = "#inspircd 10"
 | 
			
		||||
inspircd.autojoin = "#inspircd"
 | 
			
		||||
inspircd.autorejoin
 | 
			
		||||
inspircd.autorejoin_delay
 | 
			
		||||
inspircd.connection_timeout
 | 
			
		||||
@ -633,10 +633,10 @@ slashnet.msg_quit
 | 
			
		||||
slashnet.notify
 | 
			
		||||
slashnet.split_msg_max_length
 | 
			
		||||
slashnet.charset_message
 | 
			
		||||
bitlbee.addresses = "irc.net/6697"
 | 
			
		||||
bitlbee.addresses = "localhost"
 | 
			
		||||
bitlbee.proxy
 | 
			
		||||
bitlbee.ipv6
 | 
			
		||||
bitlbee.ssl = on
 | 
			
		||||
bitlbee.ssl
 | 
			
		||||
bitlbee.ssl_cert
 | 
			
		||||
bitlbee.ssl_password
 | 
			
		||||
bitlbee.ssl_priorities
 | 
			
		||||
@ -646,7 +646,7 @@ bitlbee.ssl_verify
 | 
			
		||||
bitlbee.password
 | 
			
		||||
bitlbee.capabilities
 | 
			
		||||
bitlbee.sasl_mechanism
 | 
			
		||||
bitlbee.sasl_username = "benharri"
 | 
			
		||||
bitlbee.sasl_username = "ben"
 | 
			
		||||
bitlbee.sasl_password = "${sec.data.pass}"
 | 
			
		||||
bitlbee.sasl_key
 | 
			
		||||
bitlbee.sasl_timeout
 | 
			
		||||
@ -654,7 +654,7 @@ bitlbee.sasl_fail
 | 
			
		||||
bitlbee.autoconnect
 | 
			
		||||
bitlbee.autoreconnect
 | 
			
		||||
bitlbee.autoreconnect_delay
 | 
			
		||||
bitlbee.nicks = "benharri"
 | 
			
		||||
bitlbee.nicks
 | 
			
		||||
bitlbee.nicks_alternate
 | 
			
		||||
bitlbee.username
 | 
			
		||||
bitlbee.realname
 | 
			
		||||
@ -662,7 +662,7 @@ bitlbee.local_hostname
 | 
			
		||||
bitlbee.usermode
 | 
			
		||||
bitlbee.command
 | 
			
		||||
bitlbee.command_delay
 | 
			
		||||
bitlbee.autojoin = "&bitlbee,#cifuzofu,#harris,#team,#conversations,#dino,#ejabberd,#biboumi,#soprani.ca,#operators,#xsf,#gajim,#hmm,#lobby,#conversations-offtopic,&jabber,&jabber2,#jabberzac,#mx-frendos"
 | 
			
		||||
bitlbee.autojoin = "&bitlbee,&hmm,&tilde,#brendo,#harris,&SMS,#gritty,#cifuzofu,#jabberzac,#tilde.team,#biboumi,#dino,#movim,#ejabberd,#gajim,#openhardware,#conversations"
 | 
			
		||||
bitlbee.autorejoin
 | 
			
		||||
bitlbee.autorejoin_delay
 | 
			
		||||
bitlbee.connection_timeout
 | 
			
		||||
@ -705,7 +705,7 @@ technet.local_hostname
 | 
			
		||||
technet.usermode
 | 
			
		||||
technet.command
 | 
			
		||||
technet.command_delay
 | 
			
		||||
technet.autojoin = "#tilde,#technet,#computertech"
 | 
			
		||||
technet.autojoin = "#computertech,#technet"
 | 
			
		||||
technet.autorejoin
 | 
			
		||||
technet.autorejoin_delay
 | 
			
		||||
technet.connection_timeout
 | 
			
		||||
@ -748,7 +748,7 @@ pine.local_hostname
 | 
			
		||||
pine.usermode
 | 
			
		||||
pine.command
 | 
			
		||||
pine.command_delay
 | 
			
		||||
pine.autojoin = "#pine-community,#pinephone"
 | 
			
		||||
pine.autojoin = "#pinephone,#pine-community"
 | 
			
		||||
pine.autorejoin
 | 
			
		||||
pine.autorejoin_delay
 | 
			
		||||
pine.connection_timeout
 | 
			
		||||
 | 
			
		||||
@ -33,6 +33,5 @@ time_format = "%Y-%m-%d %H:%M:%S"
 | 
			
		||||
 | 
			
		||||
[level]
 | 
			
		||||
irc = 3
 | 
			
		||||
irc.bitlbee.#tilde.zone_@ben = 0
 | 
			
		||||
 | 
			
		||||
[mask]
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,6 @@
 | 
			
		||||
fifo.fifo = "on"
 | 
			
		||||
guile.check_license = "off"
 | 
			
		||||
lua.check_license = "off"
 | 
			
		||||
lua.matrix.autojoin_on_invite = "on"
 | 
			
		||||
lua.matrix.backlog_lines = "120"
 | 
			
		||||
lua.matrix.debug = "off"
 | 
			
		||||
lua.matrix.encrypted_message_color = "lightgreen"
 | 
			
		||||
@ -57,19 +56,10 @@ python.apply_corrections.data_timeout = "60"
 | 
			
		||||
python.apply_corrections.message_limit = "2"
 | 
			
		||||
python.apply_corrections.print_format = "[nick]: [corrected]"
 | 
			
		||||
python.apply_corrections.print_limit = "1"
 | 
			
		||||
python.autojoin.autosave = "on"
 | 
			
		||||
python.autojoin_on_invite.autojoin_key = "on"
 | 
			
		||||
python.autojoin_on_invite.ignore_channels = ""
 | 
			
		||||
python.autojoin_on_invite.ignore_nicks = ""
 | 
			
		||||
python.autojoin_on_invite.whitelist_channels = ""
 | 
			
		||||
python.autojoin_on_invite.whitelist_nicks = ""
 | 
			
		||||
python.autojoinem.sorted = "off"
 | 
			
		||||
python.autosavekey.add = "on"
 | 
			
		||||
python.autosavekey.mute = "off"
 | 
			
		||||
python.autosavekey.secure = "on"
 | 
			
		||||
python.bitlbee_typing_notice.channel = "&bitlbee"
 | 
			
		||||
python.bitlbee_typing_notice.server = "bitlbee"
 | 
			
		||||
python.bitlbee_typing_notice.timeout = "4"
 | 
			
		||||
python.buffer_autoclose.age_limit = "30"
 | 
			
		||||
python.buffer_autoclose.ignore = "bitlbee.maddie"
 | 
			
		||||
python.buffer_autoclose.interval = "1"
 | 
			
		||||
 | 
			
		||||
@ -348,8 +348,15 @@ def format_exc_only():
 | 
			
		||||
    return ''.join(decode_from_utf8(traceback.format_exception_only(etype, value)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_localvar_type(slack_type):
 | 
			
		||||
    if slack_type in ("im", "mpim"):
 | 
			
		||||
        return "private"
 | 
			
		||||
    else:
 | 
			
		||||
        return "channel"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_nick_color(nick):
 | 
			
		||||
    info_name_prefix = "irc_" if int(weechat_version) < 0x1050000 else ""
 | 
			
		||||
    info_name_prefix = "irc_" if weechat_version < 0x1050000 else ""
 | 
			
		||||
    return w.info_get(info_name_prefix + "nick_color_name", nick)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -361,7 +368,7 @@ def get_thread_color(thread_id):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def sha1_hex(s):
 | 
			
		||||
    return hashlib.sha1(s.encode('utf-8')).hexdigest()
 | 
			
		||||
    return str(hashlib.sha1(s.encode('utf-8')).hexdigest())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_functions_with_prefix(prefix):
 | 
			
		||||
@ -863,6 +870,7 @@ def buffer_input_callback(signal, buffer_ptr, data):
 | 
			
		||||
    this includes add/remove reactions, modifying messages, and
 | 
			
		||||
    sending messages.
 | 
			
		||||
    """
 | 
			
		||||
    if weechat_version < 0x2090000:
 | 
			
		||||
        data = data.replace('\r', '\n')
 | 
			
		||||
    eventrouter = eval(signal)
 | 
			
		||||
    channel = eventrouter.weechat_controller.get_channel_from_buffer_ptr(buffer_ptr)
 | 
			
		||||
@ -1377,6 +1385,7 @@ class SlackTeam(object):
 | 
			
		||||
        if not self.channel_buffer:
 | 
			
		||||
            self.channel_buffer = w.buffer_new(self.name, "buffer_input_callback", "EVENTROUTER", "", "")
 | 
			
		||||
            self.eventrouter.weechat_controller.register_buffer(self.channel_buffer, self)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "input_multiline", "1")
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_type", 'server')
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_slack_type", self.type)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_nick", self.nick)
 | 
			
		||||
@ -1455,10 +1464,11 @@ class SlackTeam(object):
 | 
			
		||||
                try:
 | 
			
		||||
                    # only http proxy is currently supported
 | 
			
		||||
                    proxy = ProxyWrapper()
 | 
			
		||||
                    timeout = config.slack_timeout / 1000
 | 
			
		||||
                    if proxy.has_proxy == True:
 | 
			
		||||
                        ws = create_connection(self.ws_url, sslopt=sslopt_ca_certs, http_proxy_host=proxy.proxy_address, http_proxy_port=proxy.proxy_port, http_proxy_auth=(proxy.proxy_user, proxy.proxy_password))
 | 
			
		||||
                        ws = create_connection(self.ws_url, timeout=timeout, sslopt=sslopt_ca_certs, http_proxy_host=proxy.proxy_address, http_proxy_port=proxy.proxy_port, http_proxy_auth=(proxy.proxy_user, proxy.proxy_password))
 | 
			
		||||
                    else:
 | 
			
		||||
                        ws = create_connection(self.ws_url, sslopt=sslopt_ca_certs)
 | 
			
		||||
                        ws = create_connection(self.ws_url, timeout=timeout, sslopt=sslopt_ca_certs)
 | 
			
		||||
 | 
			
		||||
                    self.hook = w.hook_fd(ws.sock.fileno(), 1, 0, 0, "receive_ws_callback", self.get_team_hash())
 | 
			
		||||
                    ws.sock.setblocking(0)
 | 
			
		||||
@ -1575,7 +1585,9 @@ class SlackChannelCommon(object):
 | 
			
		||||
                prefix = message.sender
 | 
			
		||||
 | 
			
		||||
        extra_tags = None
 | 
			
		||||
        if message.subtype == "thread_message" and not thread_channel:
 | 
			
		||||
        if message.subtype == "thread_broadcast":
 | 
			
		||||
            extra_tags = [message.subtype]
 | 
			
		||||
        elif type(message) == SlackThreadMessage and not thread_channel:
 | 
			
		||||
            if config.thread_messages_in_channel:
 | 
			
		||||
                extra_tags = [message.subtype]
 | 
			
		||||
            else:
 | 
			
		||||
@ -1602,6 +1614,17 @@ class SlackChannelCommon(object):
 | 
			
		||||
                    config.thread_messages_in_channel and self.pending_history_requests):
 | 
			
		||||
                self.print_getting_history()
 | 
			
		||||
 | 
			
		||||
    def send_message(self, message, subtype=None, request_dict_ext={}):
 | 
			
		||||
        message = linkify_text(message, self.team)
 | 
			
		||||
        if subtype == 'me_message':
 | 
			
		||||
            s = SlackRequest(self.team, "chat.meMessage", {"channel": self.identifier, "text": message}, channel=self)
 | 
			
		||||
            self.eventrouter.receive(s)
 | 
			
		||||
        else:
 | 
			
		||||
            request = {"type": "message", "channel": self.identifier,
 | 
			
		||||
                    "text": message, "user": self.team.myidentifier}
 | 
			
		||||
            request.update(request_dict_ext)
 | 
			
		||||
            self.team.send_to_websocket(request)
 | 
			
		||||
 | 
			
		||||
    def send_add_reaction(self, msg_id, reaction):
 | 
			
		||||
        self.send_change_reaction("reactions.add", msg_id, reaction)
 | 
			
		||||
 | 
			
		||||
@ -1822,7 +1845,7 @@ class SlackChannel(SlackChannelCommon):
 | 
			
		||||
                w.buffer_set(self.channel_buffer, "hotlist", "1")
 | 
			
		||||
 | 
			
		||||
    def formatted_name(self, style="default", typing=False, present=None):
 | 
			
		||||
        show_typing = typing and config.channel_name_typing_indicator
 | 
			
		||||
        show_typing = typing and not self.muted and config.channel_name_typing_indicator
 | 
			
		||||
        if style == "sidebar" and show_typing:
 | 
			
		||||
            prepend = ">"
 | 
			
		||||
        elif self.type == "group" or self.type == "private":
 | 
			
		||||
@ -1960,10 +1983,8 @@ class SlackChannel(SlackChannelCommon):
 | 
			
		||||
            self.active = True
 | 
			
		||||
            self.channel_buffer = w.buffer_new(self.formatted_name(style="long_default"), "buffer_input_callback", "EVENTROUTER", "", "")
 | 
			
		||||
            self.eventrouter.weechat_controller.register_buffer(self.channel_buffer, self)
 | 
			
		||||
            if self.type in ("im", "mpim"):
 | 
			
		||||
                w.buffer_set(self.channel_buffer, "localvar_set_type", 'private')
 | 
			
		||||
            else:
 | 
			
		||||
                w.buffer_set(self.channel_buffer, "localvar_set_type", 'channel')
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "input_multiline", "1")
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_type", get_localvar_type(self.type))
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_slack_type", self.type)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_channel", self.formatted_name())
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_nick", self.team.nick)
 | 
			
		||||
@ -2024,18 +2045,6 @@ class SlackChannel(SlackChannelCommon):
 | 
			
		||||
            if backlog or self_msg:
 | 
			
		||||
                self.mark_read(ts, update_remote=False, force=True)
 | 
			
		||||
 | 
			
		||||
    def send_message(self, message, subtype=None, request_dict_ext={}):
 | 
			
		||||
        message = linkify_text(message, self.team)
 | 
			
		||||
        dbg(message)
 | 
			
		||||
        if subtype == 'me_message':
 | 
			
		||||
            s = SlackRequest(self.team, "chat.meMessage", {"channel": self.identifier, "text": message}, channel=self)
 | 
			
		||||
            self.eventrouter.receive(s)
 | 
			
		||||
        else:
 | 
			
		||||
            request = {"type": "message", "channel": self.identifier,
 | 
			
		||||
                    "text": message, "user": self.team.myidentifier}
 | 
			
		||||
            request.update(request_dict_ext)
 | 
			
		||||
            self.team.send_to_websocket(request)
 | 
			
		||||
 | 
			
		||||
    def store_message(self, message_to_store):
 | 
			
		||||
        if not self.active:
 | 
			
		||||
            return
 | 
			
		||||
@ -2243,7 +2252,7 @@ class SlackChannelVisibleMessages(MappingReversible):
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
        message = self.get(ts)
 | 
			
		||||
        if (message and message.subtype == "thread_message" and
 | 
			
		||||
        if (type(message) == SlackThreadMessage and message.subtype != "thread_broadcast" and
 | 
			
		||||
                not config.thread_messages_in_channel):
 | 
			
		||||
            return False
 | 
			
		||||
 | 
			
		||||
@ -2492,8 +2501,9 @@ class SlackThreadChannel(SlackChannelCommon):
 | 
			
		||||
                return name
 | 
			
		||||
            else:
 | 
			
		||||
                indent_expr = w.config_string(w.config_get("buflist.format.indent"))
 | 
			
		||||
                indent = w.string_eval_expression(indent_expr, {}, {"slack_thread": "1"}, {})
 | 
			
		||||
                return "{}{}${}".format(indent, w.color("default"), name)
 | 
			
		||||
                # Only indent with space if slack_type isn't mentioned in the indent option
 | 
			
		||||
                indent = "" if "slack_type" in indent_expr else " "
 | 
			
		||||
                return "{}${}".format(indent, name)
 | 
			
		||||
        elif style == "long_default":
 | 
			
		||||
            if self.label_full_drop_prefix:
 | 
			
		||||
                return name
 | 
			
		||||
@ -2552,14 +2562,10 @@ class SlackThreadChannel(SlackChannelCommon):
 | 
			
		||||
        if subtype == 'me_message':
 | 
			
		||||
            w.prnt("", "ERROR: /me is not supported in threads")
 | 
			
		||||
            return w.WEECHAT_RC_ERROR
 | 
			
		||||
        message = linkify_text(message, self.team)
 | 
			
		||||
        dbg(message)
 | 
			
		||||
        request = {"type": "message", "text": message,
 | 
			
		||||
                "channel": self.parent_channel.identifier,
 | 
			
		||||
                "thread_ts": str(self.thread_ts),
 | 
			
		||||
                "user": self.team.myidentifier}
 | 
			
		||||
 | 
			
		||||
        request = {"thread_ts": str(self.thread_ts)}
 | 
			
		||||
        request.update(request_dict_ext)
 | 
			
		||||
        self.team.send_to_websocket(request)
 | 
			
		||||
        super(SlackThreadChannel, self).send_message(message, subtype, request)
 | 
			
		||||
 | 
			
		||||
    def open(self, update_remote=True):
 | 
			
		||||
        self.create_buffer()
 | 
			
		||||
@ -2591,7 +2597,8 @@ class SlackThreadChannel(SlackChannelCommon):
 | 
			
		||||
        if not self.channel_buffer:
 | 
			
		||||
            self.channel_buffer = w.buffer_new(self.formatted_name(style="long_default"), "buffer_input_callback", "EVENTROUTER", "", "")
 | 
			
		||||
            self.eventrouter.weechat_controller.register_buffer(self.channel_buffer, self)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_type", 'channel')
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "input_multiline", "1")
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_type", get_localvar_type(self.parent_channel.type))
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_slack_type", self.type)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_nick", self.team.nick)
 | 
			
		||||
            w.buffer_set(self.channel_buffer, "localvar_set_channel", self.formatted_name())
 | 
			
		||||
@ -2708,8 +2715,8 @@ class SlackMessage(object):
 | 
			
		||||
    Note: these can't be tied to a SlackUser object because users
 | 
			
		||||
    can be deleted, so we have to store sender in each one.
 | 
			
		||||
    """
 | 
			
		||||
    def __init__(self, subtype, message_json, team, channel):
 | 
			
		||||
        self.team = team
 | 
			
		||||
    def __init__(self, subtype, message_json, channel):
 | 
			
		||||
        self.team = channel.team
 | 
			
		||||
        self.channel = channel
 | 
			
		||||
        self.subtype = subtype
 | 
			
		||||
        self.user_identifier = message_json.get('user')
 | 
			
		||||
@ -2891,7 +2898,9 @@ class SlackMessage(object):
 | 
			
		||||
class SlackThreadMessage(SlackMessage):
 | 
			
		||||
 | 
			
		||||
    def __init__(self, parent_channel, thread_ts, message_json, *args):
 | 
			
		||||
        super(SlackThreadMessage, self).__init__(message_json['subtype'], message_json, *args)
 | 
			
		||||
        subtype = message_json.get('subtype',
 | 
			
		||||
                'thread_broadcast' if message_json.get("reply_broadcast") else 'thread_message')
 | 
			
		||||
        super(SlackThreadMessage, self).__init__(subtype, message_json, *args)
 | 
			
		||||
        self.parent_channel = parent_channel
 | 
			
		||||
        self.thread_ts = thread_ts
 | 
			
		||||
 | 
			
		||||
@ -3312,7 +3321,7 @@ def process_user_change(message_json, eventrouter, team, channel, metadata):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def process_user_typing(message_json, eventrouter, team, channel, metadata):
 | 
			
		||||
    if channel:
 | 
			
		||||
    if channel and metadata["user"]:
 | 
			
		||||
        channel.set_typing(metadata["user"])
 | 
			
		||||
        w.bar_item_update("slack_typing_notice")
 | 
			
		||||
 | 
			
		||||
@ -3330,19 +3339,15 @@ def process_message(message_json, eventrouter, team, channel, metadata, history_
 | 
			
		||||
    if not history_message and "ts" in message_json and SlackTS(message_json["ts"]) in channel.messages:
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    if "thread_ts" in message_json and "reply_count" not in message_json and "subtype" not in message_json:
 | 
			
		||||
        if message_json.get("reply_broadcast"):
 | 
			
		||||
            message_json["subtype"] = "thread_broadcast"
 | 
			
		||||
        else:
 | 
			
		||||
            message_json["subtype"] = "thread_message"
 | 
			
		||||
 | 
			
		||||
    subtype = message_json.get("subtype")
 | 
			
		||||
    subtype_functions = get_functions_with_prefix("subprocess_")
 | 
			
		||||
 | 
			
		||||
    if subtype in subtype_functions:
 | 
			
		||||
    if "thread_ts" in message_json and "reply_count" not in message_json:
 | 
			
		||||
        message = subprocess_thread_message(message_json, eventrouter, team, channel, history_message)
 | 
			
		||||
    elif subtype in subtype_functions:
 | 
			
		||||
        message = subtype_functions[subtype](message_json, eventrouter, team, channel, history_message)
 | 
			
		||||
    else:
 | 
			
		||||
        message = SlackMessage(subtype or "normal", message_json, team, channel)
 | 
			
		||||
        message = SlackMessage(subtype or "normal", message_json, channel)
 | 
			
		||||
        channel.store_message(message)
 | 
			
		||||
        channel.unread_count_display += 1
 | 
			
		||||
 | 
			
		||||
@ -3395,7 +3400,7 @@ def download_files(message_json, team):
 | 
			
		||||
 | 
			
		||||
def subprocess_thread_message(message_json, eventrouter, team, channel, history_message):
 | 
			
		||||
    parent_ts = SlackTS(message_json['thread_ts'])
 | 
			
		||||
    message = SlackThreadMessage(channel, parent_ts, message_json, team, channel)
 | 
			
		||||
    message = SlackThreadMessage(channel, parent_ts, message_json, channel)
 | 
			
		||||
 | 
			
		||||
    parent_message = message.parent_message
 | 
			
		||||
    if parent_message and message.ts not in parent_message.submessages:
 | 
			
		||||
@ -3421,21 +3426,21 @@ subprocess_thread_broadcast = subprocess_thread_message
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def subprocess_channel_join(message_json, eventrouter, team, channel, history_message):
 | 
			
		||||
    message = SlackMessage("join", message_json, team, channel)
 | 
			
		||||
    message = SlackMessage("join", message_json, channel)
 | 
			
		||||
    channel.store_message(message)
 | 
			
		||||
    channel.user_joined(message_json["user"])
 | 
			
		||||
    return message
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def subprocess_channel_leave(message_json, eventrouter, team, channel, history_message):
 | 
			
		||||
    message = SlackMessage("leave", message_json, team, channel)
 | 
			
		||||
    message = SlackMessage("leave", message_json,  channel)
 | 
			
		||||
    channel.store_message(message)
 | 
			
		||||
    channel.user_left(message_json["user"])
 | 
			
		||||
    return message
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def subprocess_channel_topic(message_json, eventrouter, team, channel, history_message):
 | 
			
		||||
    message = SlackMessage("topic", message_json, team, channel)
 | 
			
		||||
    message = SlackMessage("topic", message_json, channel)
 | 
			
		||||
    channel.store_message(message)
 | 
			
		||||
    channel.set_topic(message_json["topic"])
 | 
			
		||||
    return message
 | 
			
		||||
@ -3464,10 +3469,13 @@ def process_reply(message_json, eventrouter, team, channel, metadata):
 | 
			
		||||
    reply_to = int(message_json["reply_to"])
 | 
			
		||||
    original_message_json = team.ws_replies.pop(reply_to, None)
 | 
			
		||||
    if original_message_json:
 | 
			
		||||
        original_message_json.update(message_json)
 | 
			
		||||
        channel = team.channels[original_message_json.get('channel')]
 | 
			
		||||
        process_message(original_message_json, eventrouter, team=team, channel=channel, metadata={})
 | 
			
		||||
        dbg("REPLY {}".format(message_json))
 | 
			
		||||
        channel = team.channels[original_message_json.get('channel')]
 | 
			
		||||
        if message_json["ok"]:
 | 
			
		||||
            original_message_json.update(message_json)
 | 
			
		||||
            process_message(original_message_json, eventrouter, team=team, channel=channel, metadata={})
 | 
			
		||||
        else:
 | 
			
		||||
            print_error("Couldn't send message to channel {}: {}".format(channel.name, message_json["error"]))
 | 
			
		||||
    else:
 | 
			
		||||
        dbg("Unexpected reply {}".format(message_json))
 | 
			
		||||
 | 
			
		||||
@ -3588,7 +3596,7 @@ def process_subteam_updated(subteam_json, eventrouter, team, channel, metadata):
 | 
			
		||||
 | 
			
		||||
    if config.notify_usergroup_handle_updated and current_subteam_info.handle != new_subteam_info.handle:
 | 
			
		||||
        message = 'User group {old_handle} has updated its handle to {new_handle} in team {team}.'.format(
 | 
			
		||||
            name=current_subteam_info.handle, handle=new_subteam_info.handle, team=team.name)
 | 
			
		||||
            old_handle=current_subteam_info.handle, new_handle=new_subteam_info.handle, team=team.name)
 | 
			
		||||
        team.buffer_prnt(message, message=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3929,7 +3937,7 @@ def resolve_ref(ref):
 | 
			
		||||
                    else:
 | 
			
		||||
                        token = token.replace('_pretty', '')
 | 
			
		||||
                if token in token_to_format:
 | 
			
		||||
                    return ref_datetime.strftime(token_to_format[token])
 | 
			
		||||
                    return decode_from_utf8(ref_datetime.strftime(token_to_format[token]))
 | 
			
		||||
                else:
 | 
			
		||||
                    return match.group(0)
 | 
			
		||||
 | 
			
		||||
@ -5128,8 +5136,13 @@ def create_slack_debug_buffer():
 | 
			
		||||
 | 
			
		||||
def load_emoji():
 | 
			
		||||
    try:
 | 
			
		||||
        DIR = w.info_get('weechat_dir', '')
 | 
			
		||||
        with open('{}/weemoji.json'.format(DIR), 'r') as ef:
 | 
			
		||||
        weechat_dir = w.info_get('weechat_dir', '')
 | 
			
		||||
        weechat_sharedir = w.info_get('weechat_sharedir', '')
 | 
			
		||||
        local_weemoji, global_weemoji = ('{}/weemoji.json'.format(path)
 | 
			
		||||
                for path in (weechat_dir, weechat_sharedir))
 | 
			
		||||
        path = (global_weemoji if os.path.exists(global_weemoji) and
 | 
			
		||||
                not os.path.exists(local_weemoji) else local_weemoji)
 | 
			
		||||
        with open(path, 'r') as ef:
 | 
			
		||||
            emojis = json.loads(ef.read())
 | 
			
		||||
            if 'emoji' in emojis:
 | 
			
		||||
                print_error('The weemoji.json file is in an old format. Please update it.')
 | 
			
		||||
@ -5635,10 +5648,10 @@ if __name__ == "__main__":
 | 
			
		||||
    if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE,
 | 
			
		||||
                  SCRIPT_DESC, "script_unloaded", ""):
 | 
			
		||||
 | 
			
		||||
        weechat_version = w.info_get("version_number", "") or 0
 | 
			
		||||
        weechat_version = int(w.info_get("version_number", "") or 0)
 | 
			
		||||
        weechat_upgrading = w.info_get("weechat_upgrading", "")
 | 
			
		||||
 | 
			
		||||
        if int(weechat_version) < 0x1030000:
 | 
			
		||||
        if weechat_version < 0x1030000:
 | 
			
		||||
            w.prnt("", "\nERROR: Weechat version 1.3+ is required to use {}.\n\n".format(SCRIPT_NAME))
 | 
			
		||||
        elif weechat_upgrading == "1":
 | 
			
		||||
            w.prnt("", "NOTE: wee-slack will not work after running /upgrade until it's"
 | 
			
		||||
@ -5663,6 +5676,7 @@ if __name__ == "__main__":
 | 
			
		||||
 | 
			
		||||
            w.hook_config(CONFIG_PREFIX + ".*", "config_changed_cb", "")
 | 
			
		||||
            w.hook_config("irc.look.server_buffer", "config_server_buffer_cb", "")
 | 
			
		||||
            if weechat_version < 0x2090000:
 | 
			
		||||
                w.hook_modifier("input_text_for_buffer", "input_text_for_buffer_cb", "")
 | 
			
		||||
 | 
			
		||||
            EMOJI, EMOJI_WITH_SKIN_TONES_REVERSE = load_emoji()
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,7 @@ suggestion_delimiter_word = cyan
 | 
			
		||||
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
 | 
			
		||||
default_dict = "en"
 | 
			
		||||
during_search = off
 | 
			
		||||
enabled = on
 | 
			
		||||
enabled = off
 | 
			
		||||
real_time = off
 | 
			
		||||
suggestions = 2
 | 
			
		||||
word_min_length = 2
 | 
			
		||||
 | 
			
		||||
@ -25,6 +25,30 @@ trigger = green
 | 
			
		||||
trigger_disabled = red
 | 
			
		||||
 | 
			
		||||
[trigger]
 | 
			
		||||
autojoin.arguments = "*,irc_in_join"
 | 
			
		||||
autojoin.command = "/autojoinem add ${server} ${channel};/mute save"
 | 
			
		||||
autojoin.conditions = ""
 | 
			
		||||
autojoin.enabled = on
 | 
			
		||||
autojoin.hook = signal
 | 
			
		||||
autojoin.post_action = none
 | 
			
		||||
autojoin.regex = ""
 | 
			
		||||
autojoin.return_code = ok
 | 
			
		||||
autojoinem_on_quit.arguments = "quit"
 | 
			
		||||
autojoinem_on_quit.command = "/allchan /autojoinem add"
 | 
			
		||||
autojoinem_on_quit.conditions = ""
 | 
			
		||||
autojoinem_on_quit.enabled = on
 | 
			
		||||
autojoinem_on_quit.hook = signal
 | 
			
		||||
autojoinem_on_quit.post_action = none
 | 
			
		||||
autojoinem_on_quit.regex = ""
 | 
			
		||||
autojoinem_on_quit.return_code = ok
 | 
			
		||||
autopart.arguments = "*,irc_in_part"
 | 
			
		||||
autopart.command = "/autojoinem del ${server} ${channel};/mute save"
 | 
			
		||||
autopart.conditions = ""
 | 
			
		||||
autopart.enabled = on
 | 
			
		||||
autopart.hook = signal
 | 
			
		||||
autopart.post_action = none
 | 
			
		||||
autopart.regex = ""
 | 
			
		||||
autopart.return_code = ok
 | 
			
		||||
beep.arguments = ""
 | 
			
		||||
beep.command = "/print -beep"
 | 
			
		||||
beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
 | 
			
		||||
@ -33,14 +57,6 @@ beep.hook = print
 | 
			
		||||
beep.post_action = none
 | 
			
		||||
beep.regex = ""
 | 
			
		||||
beep.return_code = ok
 | 
			
		||||
chansaver.arguments = "buffer_closed;buffer_opened"
 | 
			
		||||
chansaver.command = "/mute /autojoin --run;/mute /save"
 | 
			
		||||
chansaver.conditions = ""
 | 
			
		||||
chansaver.enabled = on
 | 
			
		||||
chansaver.hook = signal
 | 
			
		||||
chansaver.post_action = none
 | 
			
		||||
chansaver.regex = ""
 | 
			
		||||
chansaver.return_code = ok
 | 
			
		||||
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
 | 
			
		||||
cmd_pass.command = ""
 | 
			
		||||
cmd_pass.conditions = ""
 | 
			
		||||
@ -97,14 +113,6 @@ msg_auth.hook = modifier
 | 
			
		||||
msg_auth.post_action = none
 | 
			
		||||
msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
 | 
			
		||||
msg_auth.return_code = ok
 | 
			
		||||
pong.arguments = ""
 | 
			
		||||
pong.command = "pong"
 | 
			
		||||
pong.conditions = "${type} == private && ${tg_message} == ping"
 | 
			
		||||
pong.enabled = on
 | 
			
		||||
pong.hook = print
 | 
			
		||||
pong.post_action = none
 | 
			
		||||
pong.regex = ""
 | 
			
		||||
pong.return_code = ok
 | 
			
		||||
resize_big.arguments = "signal_sigwinch"
 | 
			
		||||
resize_big.command = "/bar show nicklist"
 | 
			
		||||
resize_big.conditions = "${info:term_width} >= 100"
 | 
			
		||||
 | 
			
		||||
@ -361,8 +361,6 @@ default.window = "3;1;0;0;core;weechat"
 | 
			
		||||
default.current = on
 | 
			
		||||
 | 
			
		||||
[notify]
 | 
			
		||||
irc.bitlbee.#tilde.zone_@ben = highlight
 | 
			
		||||
irc.bitlbee.#twitter_nebsirrah = highlight
 | 
			
		||||
irc.server.tilde = highlight
 | 
			
		||||
perl.highmon = none
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user