ubot2/docs/example-plugins/todo.py
Jeff Ammons 3cd9b9a828 Standardizing docs between python-slackclient and rtmbot
Added copyright to License File
Added standard format for issues/PRs
Added Code of Conduct
Moved doc/ to docs/
2016-07-09 10:13:52 -07:00

45 lines
1.2 KiB
Python

from __future__ import print_function
from __future__ import unicode_literals
# don't convert to ascii in py2.7 when creating string to return
import os
import pickle
outputs = []
crontabs = []
tasks = {}
FILE = "plugins/todo.data"
if os.path.isfile(FILE):
tasks = pickle.load(open(FILE, 'rb'))
def process_message(data):
global tasks
channel = data["channel"]
text = data["text"]
# only accept tasks on DM channels
if channel.startswith("D"):
if channel not in tasks.keys():
tasks[channel] = []
# do command stuff
if text.startswith("todo"):
tasks[channel].append(text[5:])
outputs.append([channel, "added"])
if text == "tasks":
output = ""
counter = 1
for task in tasks[channel]:
output += "%i) %s\n" % (counter, task)
counter += 1
outputs.append([channel, output])
if text == "fin":
tasks[channel] = []
if text.startswith("done"):
num = int(text.split()[1]) - 1
tasks[channel].pop(num)
if text == "show":
print(tasks)
pickle.dump(tasks, open(FILE, "wb"))