def _setup(self):
self._token = os.getenv('SLACK_TOKEN')
if not self._token:
raise InvalidOptions('SLACK_TOKEN required for slack engine.')
log.info('Authenticating...')
try:
response = yield self.api('rtm.start')
except Exception as e:
raise CoreException('API call "rtm.start" to Slack failed: %s' % e)
if response['ok']:
log.info('Logged in!')
else:
log.error('Login failed. Reason: "{}". Payload dump: {}'.format(
response.get('error', 'No error specified'), response))
raise InvalidOptions('Login failed')
self.socket_url = response['url']
self.connection = yield websocket.websocket_connect(self.socket_url)
self._user_id = response['self']['id']
self._user_name = response['self']['name']
self._users = response['users']
self._channels = response['channels']
self._channels.extend(response['groups'])
self._too_fast_warning = False
评论列表
文章目录