This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
slack-bot-testing/slack-bot-prod.py

38 lines
1.3 KiB
Python
Raw Normal View History

from import_db import import_cf_words
2019-06-27 12:59:03 -05:00
from random import randrange as rr
from bot_logging import log_output
from datetime import datetime
import slack
import sys
import os
import re
2019-06-27 10:03:37 -05:00
output = '{}\tI am running\n'.format(datetime.now())
2019-06-27 10:03:37 -05:00
words = import_cf_words()
2019-06-27 12:59:03 -05:00
2019-06-27 10:03:37 -05:00
@slack.RTMClient.run_on(event='message')
def say_hello(**payload):
output = '{0}\t{1}\n'.format(datetime.now(), payload['data'])
2019-06-27 10:03:37 -05:00
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:
2019-06-27 20:02:08 -05:00
output += '{0}\tAn error occurred: {1}\n'.format(datetime.now(), e)
log_output(output)
2019-06-27 10:03:37 -05:00
slack_token = os.environ["SLACK_API_TOKEN"]
rtm_client = slack.RTMClient(token=slack_token)
rtm_client.start()