docs: def run_forever(self):
          """Run the bot, blocking forever."""
          res = self.slack.rtm.start()
          self.log.info("current channels: %s",
                        ','.join(c['name'] for c in res.body['channels']
                                 if c['is_member']))
          self.id = res.body['self']['id']
          self.name = res.body['self']['name']
          self.my_mention = "<@%s>" % self.id
  
          self.ws = websocket.WebSocketApp(
              res.body['url'],
              on_message=self._on_message,
              on_error=self._on_error,
              on_close=self._on_close,
              on_open=self._on_open)
          self.prepare_connection(self.config)
          self.ws.run_forever()