Source code for panoptes.utils.social.slack

import requests
from loguru import logger


[docs]class SocialSlack(object): """Social Messaging sink to output to Slack.""" def __init__(self, **kwargs): self.web_hook = kwargs.get('webhook_url', '') if self.web_hook == '': raise ValueError('webhook_url parameter is not defined.') else: self.output_timestamp = kwargs.get('output_timestamp', False)
[docs] def send_message(self, msg, timestamp): try: if self.output_timestamp: post_msg = '{} - {}'.format(msg, timestamp) else: post_msg = msg # We ignore the response body and headers of a successful post. requests.post(self.web_hook, json={'text': post_msg}) except Exception as e: # pragma: no cover logger.warning('Error posting to slack: {}'.format(e))