Improved CF functionality, added logging and bash runner script.

This commit is contained in:
Alex Huddleston 2019-06-28 00:51:53 +00:00
parent c455543a96
commit b41c142043
5 changed files with 15062 additions and 27 deletions

1
.gitignore vendored
View file

@ -2,4 +2,5 @@
**/*.pyc **/*.pyc
**/__pycache__/** **/__pycache__/**
**/.vscode/** **/.vscode/**
logs/**
.api_token** .api_token**

11
bot_logging.py Normal file
View file

@ -0,0 +1,11 @@
from datetime import datetime as dt
import datetime
def log_output(logs):
log_filename = '_'.join('Bot Logs {0}'.format(datetime.date(dt.today().year, dt.today().month,dt.today().day).isoformat()).split())
log_file = open('logs/' + log_filename, 'a+')
log_file.write(logs)
log_file.close()

3
runner.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
SLACK_API_TOKEN=$(cat .api_token) ~/miniconda3/bin/python slack-bot-testing.py &

View file

@ -1,40 +1,36 @@
import os from import_db import import_cf_words
import slack
import import_db
from random import randrange as rr from random import randrange as rr
''' from bot_logging import log_output
client = slack.WebClient(token=os.environ['SLACK_API_TOKEN']) from datetime import datetime
import slack
import sys
import os
import re
output = '{}\tI am running\n'.format(datetime.now())
response = client.chat_postMessage( words = import_cf_words()
channel='#general',
text='Hello, world!'
)
assert response['ok']
assert response['message']['text'] == 'Hello, world!'
'''
print('I am running.')
words = import_db.import_cf_words()
@slack.RTMClient.run_on(event='message') @slack.RTMClient.run_on(event='message')
def say_hello(**payload): def say_hello(**payload):
print(payload['data']) output = '{0}\t{1}\n'.format(datetime.now(), payload['data'])
data = payload['data'] data = payload['data']
web_client = payload['web_client'] web_client = payload['web_client']
rtm_client = payload['rtm_client'] rtm_client = payload['rtm_client']
try: try:
if 'cf' in data['text'].lower(): if 'text' in data and 'user' in data:
channel_id = data['channel'] match = re.search('(\\bc[a-zA-Z]+ \\bf[a-zA-Z]+|cf)', data['text'].lower())
thread_ts = data['ts'] if match:
user = data['user'] match_formatted = ' '.join([ m.capitalize() for m in match.groups()[0].split() ])
web_client.chat_postMessage(
web_client.chat_postMessage( channel = data['channel'],
channel=channel_id, text = '{0}, also known as: {1} {2}'.format(match_formatted, (words['c'][rr(len(words['c']))]).capitalize(), (words['f'][rr(len(words['f']))]).capitalize())
text='CF, also known as: {0} {1}'.format((words['c'][rr(len(words['c']))]).capitalize(), (words['f'][rr(len(words['f']))]).capitalize()), )
)
except: except Exception as e:
print('lmao wtf') print(e)
output += '{}\tThat weird error happened again let\'s fix that.\n'.format(datetime.now())
log_output(output)
slack_token = os.environ["SLACK_API_TOKEN"] slack_token = os.environ["SLACK_API_TOKEN"]
rtm_client = slack.RTMClient(token=slack_token) rtm_client = slack.RTMClient(token=slack_token)

15024
word_db.txt

File diff suppressed because it is too large Load diff