-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevents.py
More file actions
53 lines (40 loc) · 1.85 KB
/
events.py
File metadata and controls
53 lines (40 loc) · 1.85 KB
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
import utils.log
import utils.file
import utils.api
import settings
収容所 = settings.CHANNEL_CONTAINER
class EventHandler(object):
def __init__(self):
self.set_loggers()
self.webapi = utils.api.WebAPI()
def set_loggers(self):
self.console = utils.log.console()
self.log = utils.log.file()
def on_message(self, ws, user, text):
pass
def on_left(self, ws, user):
pass
def on_joined(self, ws, user):
try:
感染者 = set(utils.file.load("infected")) - set(utils.file.load("excluded"))
感染者 = 感染者 if not settings.MAO_ONLY_MODE else {settings.USER_MAO}
感染者.add(user)
utils.file.save("infected", list(感染者))
except Exception as e:
self.webapi.post_debug_info(e)
def on_timer(self, ws):
try:
感染者 = set(utils.file.load("infected")) - set(utils.file.load("excluded"))
感染者 = 感染者 if not settings.MAO_ONLY_MODE else {settings.USER_MAO}
収容者 = set(self.webapi.get_channel_members(収容所))
全人類 = set(self.webapi.get_team_members())
脱走者 = 感染者 - 収容者
新参者 = 収容者 - 感染者
死亡者 = 感染者 - 全人類
utils.file.save("infected", list(感染者 | 新参者 - 死亡者))
if len(脱走者) > 0:
名簿 = "」「 ".join([ self.webapi.get_username(ID) for ID in 脱走者 ])
警告 = "感染者「{0}」が収容所から脱走しました。職員はただちに再収容を行ってください。".format(名簿)
self.webapi.post_message(settings.CHANNEL_DEBUG if settings.DEBUG_MODE else 収容所, 警告)
except Exception as e:
self.webapi.post_debug_info(e)