Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pleasantone/ea404f47268cbc9651890dc0c5d09e79 to your computer and use it in GitHub Desktop.
Save pleasantone/ea404f47268cbc9651890dc0c5d09e79 to your computer and use it in GitHub Desktop.
diff --git a/hangupsbot/plugins/slackrtm/core.py b/hangupsbot/plugins/slackrtm/core.py
index 4b316b4..e73930b 100644
--- a/hangupsbot/plugins/slackrtm/core.py
+++ b/hangupsbot/plugins/slackrtm/core.py
@@ -596,6 +596,19 @@ class SlackRTM(object):
_slackrtm_conversations_set(self.bot, self.name, syncs)
return
+ def close(self):
+ for s in self.syncs:
+ logger.info('removing running sync: %s', s)
+ s._bridgeinstance.close()
+ self.syncs.remove(s)
+
+ syncs = _slackrtm_conversations_get(self.bot, self.name) or []
+ for s in syncs:
+ logger.info('removing stored sync: %s', s)
+ syncs.remove(s)
+ _slackrtm_conversations_set(self.bot, self.name, syncs)
+ return
+
def config_setsyncjoinmsgs(self, channel, hangoutid, enable):
sync = None
for s in self.syncs:
@@ -970,6 +983,7 @@ class SlackRTMThread(threading.Thread):
try:
if self._listener and self._listener in _slackrtms:
_slackrtms.remove(self._listener)
+ self._listener.close()
self._listener = SlackRTM(self._config, self._bot, self._loop, threaded=True)
_slackrtms.append(self._listener)
last_ping = int(time.time())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment