mirror of https://tildegit.org/ben/dotfiles
switch to autojoinem.py
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…
Reference in New Issue