ubot2/doc/example-plugins/todo.py

41 lines
1 KiB
Python

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"))