修复了一些问题(

This commit is contained in:
shenjack 2024-08-09 18:33:37 +08:00
parent f51d045dda
commit e8c4ed8c60
Signed by: shenjack
GPG Key ID: 7B1134A979775551

View File

@ -10,10 +10,10 @@ else:
IcaClient = TypeVar("IcaClient") IcaClient = TypeVar("IcaClient")
def gen_room() -> dict[int, list[int]]: def gen_room() -> dict[int, dict[int, str]]:
return {i: [] for i in range(0, 24)} return {i: {} for i in range(0, 24)}
VOTE = {} VOTE: dict[int, dict[int, str]] = {}
def fmt_vote(room_id) -> str: def fmt_vote(room_id) -> str:
@ -39,16 +39,20 @@ def hypvote(msg: IcaNewMessage, client: IcaClient):
if x.isdigit() and 0 <= int(x) < 24: if x.isdigit() and 0 <= int(x) < 24:
if msg.sender_id in VOTE[msg.room_id][int(x) % 24]: if msg.sender_id in VOTE[msg.room_id][int(x) % 24]:
continue continue
VOTE[msg.room_id][int(x) % 24].append(msg.sender_id) VOTE[msg.room_id][int(x) % 24][msg.sender_id] = msg.sender_name
elif arg[0] == "unvote": elif arg[0] == "unvote":
for x in arg[1:]: for x in arg[1:]:
if x.isdigit() and 0 <= int(x) < 24: if x.isdigit() and 0 <= int(x) < 24:
if msg.sender_id in VOTE[msg.room_id][int(x) % 24]: if msg.sender_id in VOTE[msg.room_id][int(x) % 24]:
VOTE[msg.room_id][int(x) % 24].remove(msg.sender_id) VOTE[msg.room_id][int(x) % 24][msg.sender_id] = None
elif arg[0] == "clear": elif arg[0] == "clear":
VOTE[msg.room_id] = gen_room() VOTE[msg.room_id] = gen_room()
elif arg[0] == "view": elif arg[0] == "view":
... replys = "\n".join(
f"{x}: {','.join(VOTE[msg.room_id][int(x) % 24].values())}" for x in arg[1:] if x.isdigit()
)
reply = msg.reply_with(replys)
client.send_message(reply)
elif arg == [] or arg[0] == "ls": elif arg == [] or arg[0] == "ls":
res = fmt_vote(msg.room_id) res = fmt_vote(msg.room_id)
reply = msg.reply_with(res) reply = msg.reply_with(res)
@ -68,7 +72,7 @@ OPTIONS
ls ls
list voted time, equivalent to empty list voted time, equivalent to empty
view <space seperated hour> view <space seperated hour>
view who vote for the time
help help
show this help show this help
AUTHOR AUTHOR