diff --git a/mesh_bot.py b/mesh_bot.py index fe0db7c..c931279 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -18,47 +18,59 @@ def auto_response(message, snr, rssi, hop, pkiStatus, message_from_id, channel_n #Auto response to messages message_lower = message.lower() bot_response = "I'm sorry, I'm afraid I can't do that." + if isDM: + command_handler = { + "ping": lambda: handle_ping(message, hop, snr, rssi), + "pong": lambda: "🏓PING!!", + "motd": lambda: handle_motd(message, message_from_id), + "bbshelp": bbs_help, + "wxalert": lambda: handle_wxalert(message_from_id, deviceID, message), + "wxa": lambda: handle_wxalert(message_from_id, deviceID, message), + "wxc": lambda: handle_wxc(message_from_id, deviceID, 'wxc'), + "wx": lambda: handle_wxc(message_from_id, deviceID, 'wx'), + "wiki:": lambda: handle_wiki(message), + "games": lambda: gamesCmdList, + "dopewars": lambda: handleDopeWars(message_from_id, message, deviceID), + "lemonstand": lambda: handleLemonade(message_from_id, message), + "blackjack": lambda: handleBlackJack(message_from_id, message), + "videopoker": lambda: handleVideoPoker(message_from_id, message), + "globalthermonuclearwar": lambda: handle_gTnW(), + "ask:": lambda: handle_llm(message_from_id, channel_number, deviceID, message, publicChannel), + "askai": lambda: handle_llm(message_from_id, channel_number, deviceID, message, publicChannel), + "joke": tell_joke, + "bbslist": bbs_list_messages, + "bbspost": lambda: handle_bbspost(message, message_from_id, deviceID), + "bbsread": lambda: handle_bbsread(message), + "bbsdelete": lambda: handle_bbsdelete(message, message_from_id), + "messages": lambda: handle_messages(deviceID, channel_number, msg_history, publicChannel), + "cmd": lambda: help_message, + "cmd?": lambda: help_message, + "history": lambda: handle_history(message_from_id, deviceID), + "sun": lambda: handle_sun(message_from_id, deviceID, channel_number), + "hfcond": hf_band_conditions, + "solar": lambda: drap_xray_conditions() + "\n" + solar_conditions(), + "lheard": lambda: handle_lheard(message_from_id, deviceID), + "sitrep": lambda: handle_lheard(message_from_id, deviceID), + "whereami": lambda: handle_whereami(message_from_id, deviceID, channel_number), + "tide": lambda: handle_tide(message_from_id, deviceID, channel_number), + "moon": lambda: handle_moon(message_from_id, deviceID, channel_number), + "ack": lambda: handle_ack(hop, snr, rssi), + "testing": lambda: handle_testing(message, hop, snr, rssi), + "test": lambda: handle_testing(message, hop, snr, rssi), + "whoami": lambda: handle_whoami(message_from_id, deviceID, hop, snr, rssi, pkiStatus) + } + else: + command_handler = { + "ping": lambda: handle_ping(message, hop, snr, rssi), + "pong": lambda: "🏓PING!!", + "motd": lambda: handle_motd(message, message_from_id), + "ack": lambda: handle_ack(hop, snr, rssi), + "testing": lambda: handle_testing(message, hop, snr, rssi), + "test": lambda: handle_testing(message, hop, snr, rssi), + "whoami": lambda: handle_whoami(message_from_id, deviceID, hop, snr, rssi, pkiStatus) + } - command_handler = { - "ping": lambda: handle_ping(message, hop, snr, rssi), - "pong": lambda: "🏓PING!!", - "motd": lambda: handle_motd(message, message_from_id), - "bbshelp": bbs_help, - "wxalert": lambda: handle_wxalert(message_from_id, deviceID, message), - "wxa": lambda: handle_wxalert(message_from_id, deviceID, message), - "wxc": lambda: handle_wxc(message_from_id, deviceID, 'wxc'), - "wx": lambda: handle_wxc(message_from_id, deviceID, 'wx'), - "wiki:": lambda: handle_wiki(message), - "games": lambda: gamesCmdList, - "dopewars": lambda: handleDopeWars(message_from_id, message, deviceID), - "lemonstand": lambda: handleLemonade(message_from_id, message), - "blackjack": lambda: handleBlackJack(message_from_id, message), - "videopoker": lambda: handleVideoPoker(message_from_id, message), - "globalthermonuclearwar": lambda: handle_gTnW(), - "ask:": lambda: handle_llm(message_from_id, channel_number, deviceID, message, publicChannel), - "askai": lambda: handle_llm(message_from_id, channel_number, deviceID, message, publicChannel), - "joke": tell_joke, - "bbslist": bbs_list_messages, - "bbspost": lambda: handle_bbspost(message, message_from_id, deviceID), - "bbsread": lambda: handle_bbsread(message), - "bbsdelete": lambda: handle_bbsdelete(message, message_from_id), - "messages": lambda: handle_messages(deviceID, channel_number, msg_history, publicChannel), - "cmd": lambda: help_message, - "cmd?": lambda: help_message, - "history": lambda: handle_history(message_from_id, deviceID), - "sun": lambda: handle_sun(message_from_id, deviceID, channel_number), - "hfcond": hf_band_conditions, - "solar": lambda: drap_xray_conditions() + "\n" + solar_conditions(), - "lheard": lambda: handle_lheard(message_from_id, deviceID), - "sitrep": lambda: handle_lheard(message_from_id, deviceID), - "whereami": lambda: handle_whereami(message_from_id, deviceID, channel_number), - "tide": lambda: handle_tide(message_from_id, deviceID, channel_number), - "moon": lambda: handle_moon(message_from_id, deviceID, channel_number), - "ack": lambda: handle_ack(hop, snr, rssi), - "testing": lambda: handle_testing(message, hop, snr, rssi), - "test": lambda: handle_testing(message, hop, snr, rssi), - "whoami": lambda: handle_whoami(message_from_id, deviceID, hop, snr, rssi, pkiStatus) - } + cmds = [] # list to hold the commands found in the message for key in command_handler: if key in message_lower.split(' '):