@@ -45,6 +45,9 @@ class SlackBridge:
45
45
# slack-specific
46
46
self .channel = self .slack_config ["channel" ]
47
47
self .slack_client = slack .RTMClient (token = self .slack_config ["token" ], auto_reconnect = True )
48
+ # Spawn a non-websocket client for getting the users
49
+ # list and for posting messages in Slack.
50
+ self .slack_webclient = slack .WebClient (token = self .slack_config ["token" ])
48
51
49
52
def wrap_slack_mention_with_bracket (self , zulip_msg : Dict [str , Any ]) -> None :
50
53
words = zulip_msg ["content" ].split (' ' )
@@ -66,16 +69,14 @@ class SlackBridge:
66
69
self .wrap_slack_mention_with_bracket (msg )
67
70
slack_text = SLACK_MESSAGE_TEMPLATE .format (username = msg ["sender_full_name" ],
68
71
message = msg ["content" ])
69
- self .slack_client . rtm_send_message (
70
- self .channel ,
71
- slack_text ,
72
+ self .slack_webclient . chat_postMessage (
73
+ channel = self .channel ,
74
+ text = slack_text ,
72
75
)
73
76
return _zulip_to_slack
74
77
75
78
def run_slack_listener (self ) -> None :
76
- # spawn a non-websocket client for getting the users list
77
- _wc = slack .WebClient (token = self .slack_config ["token" ])
78
- members = _wc .users_list ()['members' ]
79
+ members = self .slack_webclient .users_list ()['members' ]
79
80
# See also https://api.slack.com/changelog/2017-09-the-one-about-usernames
80
81
self .slack_id_to_name = {u ["id" ]: u ["profile" ].get ("display_name" , u ["profile" ]["real_name" ]) for u in members }
81
82
self .slack_name_to_id = {v : k for k , v in self .slack_id_to_name .items ()}
0 commit comments