-
Notifications
You must be signed in to change notification settings - Fork 1
/
todo.py
54 lines (48 loc) · 1.32 KB
/
todo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import copy
import importlib
import random
from math import log10, floor
import re
from zulip_bots.bots.converter import utils
from typing import Any, Dict, List
'''
class todo(object):
def usage(self) -> str:
return "This plugin is a ToDo App"
def handle_message(self, message: Dict[str, str], bot_handler: Any) -> None:
bot_response = self.get_todo_response(message, bot_handler)
bot_handler.send_reply(message, bot_response)
handler_class = todo
'''
def get_todo_response(message: Dict[str, str], bot_handler: Any) -> str:
content = message['content']
words = content.split()
if words[2] == "start" :
bot_handler.storage.put("list" , "")
return "todo initialized"
if words[2] == "list" :
res = bot_handler.storage.get("list")
val = ""
values = res.split("~")
i = 1
for temp in values :
val = val + str( i ) + ". " + temp + "\n"
i += 1
return val
elif words[2] == "add" :
res = bot_handler.storage.get("list")
res = res + words[3] + "~"
bot_handler.storage.put( "list" , res )
return "Added to list."
elif words[2] == "remove" :
index = int( words[3] )
res = bot_handler.storage.get("list")
val = ""
values = res.split("~")
i = 1
for temp in values :
if i != index :
val = val + temp + "~"
i += 1
bot_handler.storage.put( "list" , val )
return "Removed from list."