Party Line: whoami command
This commit is contained in:
parent
1d365359ee
commit
1a5b3c7cc2
|
|
@ -83,10 +83,22 @@ def handle_logout(msg, r, from_known_sender, known_senders: Iterable):
|
|||
return
|
||||
|
||||
|
||||
def handle_help(msg):
|
||||
def handle_whoami(msg, _, from_known_sender, known_senders: Iterable):
|
||||
if not from_known_sender:
|
||||
msg.reply("You not logged in.")
|
||||
return
|
||||
for s in known_senders:
|
||||
if s['hash'] == msg.sender:
|
||||
msg.reply(f"Logged in as {s['nick']}.")
|
||||
return
|
||||
assert False
|
||||
|
||||
|
||||
def handle_help(msg, _, __, ___):
|
||||
msg.reply("""Supported commands:
|
||||
/login [NICK] [PASSWORD] - Logs user in. Partyline messages will be sent.
|
||||
/logout - Logs user out. Partyline messages will stop.
|
||||
/whoami - Tells you your nic if you're logged in.
|
||||
/help - Displays this message.""")
|
||||
|
||||
|
||||
|
|
@ -95,6 +107,15 @@ def send_to(text: str, receiver_hashes: Iterable[str]):
|
|||
bot.send(receiver, text)
|
||||
|
||||
|
||||
COMMANDS = {
|
||||
"/login": handle_login,
|
||||
"/logout": handle_logout,
|
||||
"/whoami": handle_whoami,
|
||||
"/help": handle_help,
|
||||
"/": handle_help
|
||||
}
|
||||
|
||||
|
||||
@bot.received
|
||||
def handle_msg(msg):
|
||||
r = Redis(host='localhost', port=6379, db=0)
|
||||
|
|
@ -107,14 +128,9 @@ def handle_msg(msg):
|
|||
known_senders, None)
|
||||
from_known_sender = sender_info is not None
|
||||
assert isinstance(msg.content, str)
|
||||
if msg.content.startswith("/login"):
|
||||
return handle_login(msg, r, from_known_sender, known_senders)
|
||||
if msg.content.startswith("/logout"):
|
||||
return handle_logout(msg, r, from_known_sender, known_senders)
|
||||
if msg.content.startswith("/help"):
|
||||
return handle_help(msg)
|
||||
if msg.content.startswith("/"):
|
||||
return handle_help(msg)
|
||||
for cmd in COMMANDS:
|
||||
if msg.content.startswith(cmd):
|
||||
return COMMANDS[cmd](msg, r, from_known_sender, known_senders)
|
||||
|
||||
if not from_known_sender:
|
||||
msg.reply("Please identify with `/login [NICK] [PASSWORD]`")
|
||||
|
|
|
|||
Loading…
Reference in New Issue