from import_db import import_cf_words from random import randrange as rr from bot_logging import log_output from datetime import datetime import slack import sys import os import re output = '{}\tI am running\n'.format(datetime.now()) words = import_cf_words() @slack.RTMClient.run_on(event='message') def say_hello(**payload): output = '{0}\t{1}\n'.format(datetime.now(), payload['data']) data = payload['data'] web_client = payload['web_client'] rtm_client = payload['rtm_client'] try: if 'text' in data and 'user' in data: match = re.search('(\\bc[a-zA-Z]+ \\bf[a-zA-Z]+|cf)', data['text'].lower()) if match: match_formatted = ' '.join([ m.capitalize() for m in match.groups()[0].split() ]) web_client.chat_postMessage( channel = data['channel'], text = '{0}, also known as: {1} {2}'.format(match_formatted, (words['c'][rr(len(words['c']))]).capitalize(), (words['f'][rr(len(words['f']))]).capitalize()) ) except Exception as e: output += '{0}\tAn error occurred: {1}\n'.format(datetime.now(), e) log_output(output) slack_token = os.environ["SLACK_API_TOKEN"] rtm_client = slack.RTMClient(token=slack_token) rtm_client.start()