basic BBS try one

This commit is contained in:
SpudGunMan
2024-06-25 17:43:51 -07:00
parent a69b046a98
commit 6816d6e618
2 changed files with 84 additions and 2 deletions
+50 -1
View File
@@ -3,7 +3,56 @@
from dadjokes import Dadjoke # pip install dadjokes
#global message list, later we will use a database on disk
bbs_messages = []
def tell_joke():
# tell a dad joke, does it need an explanationn :)
dadjoke = Dadjoke()
return dadjoke.joke
return dadjoke.joke
def bbs_help():
# help message
return "Commands: 'bbslist', 'bbspost $subject #message', 'bbsread #', 'bbsdelete #'"
def bbs_list_messages():
# return a string with new line for each message subject in the list bbs_messages
message_list = ""
for message in bbs_messages:
# message[0] is the messageID, message[1] is the subject
message_list += "Msg #" + str(message[0]) + " " + message[1] + "\n"
#last newline removed
message_list = message_list[:-1]
return message_list
def bbs_delete_message(messageID = 0):
# delete a message from the bbsdb
if messageID > 0:
bbs_messages.pop(messageID - 1)
#reset the messageID
for i in range(len(bbs_messages)):
bbs_messages[i][0] = i + 1
return "Msg #" + str(messageID) + " deleted."
else:
return "Please specify a message number to delete."
def bbs_post_message(subject, message):
# post a message to the bbsdb and assign a messageID
messageID = len(bbs_messages) + 1
#print (f"System: messageID: {messageID}, subject: {subject}, message: {message}")
# append the message to the list
bbs_messages.append([messageID, subject, message])
return "Message posted. ID is: " + str(messageID)
def bbs_read_message(messageID = 0):
if messageID > 0:
message = bbs_messages[messageID - 1]
return f"Msg #{message[0]}\nMsg Body: {message[2]}"
else:
return "Please specify a message number to read."
+34 -1
View File
@@ -19,7 +19,8 @@ interface = meshtastic.serial_interface.SerialInterface() #serial interface
#interface=meshtastic.ble_interface.BLEInterface("AA:BB:CC:DD:EE:FF") # BLE interface
#A list of strings to trap and respond to
trap_list = ("ping","ack","testing","pong","motd","help","sun","solar","hfcond","lheard","sitrep","whereami","tide","moon","wx","joke")
trap_list = ("ping","ack","testing","pong","motd","help","sun","solar","hfcond","lheard","sitrep", \
"whereami","tide","moon","wx","joke","bbslist","bbspost","bbsread","bbsdelete","bbshelp")
welcome_message = "MeshBot, here for you like a friend who is not. Try sending: ping @foo or, help"
help_message = "Commands are: ack, hfcond, joke, Lheard, moon, motd, ping, solar, sun, tide, whereami, wx"
@@ -95,6 +96,38 @@ def auto_response(message, snr, rssi, hop, message_from_id):
bot_response = weather
elif "joke" in message.lower():
bot_response = tell_joke()
elif "bbslist" in message.lower():
bot_response = bbs_list_messages()
elif "bbspost" in message.lower():
#Check if the user added a subject to the message
if "$" in message:
subject = message.split("$")[1].split("#")[0]
subject = subject.rstrip()
if "#" in message:
message = message.split("#")[1]
message = message.rstrip()
bot_response = bbs_post_message(subject,message)
else:
bot_response = "example: bbspost $subject #message"
else:
bot_response = "Please add a subject to the message. ex: bbspost $subject #message"
elif "bbsread" in message.lower():
#Check if the user added a message number to the message
if "#" in message:
messageID = int(message.split("#")[1])
bot_response = bbs_read_message(messageID)
else:
bot_response = "Please add a message number ex: bbsread #14"
elif "bbsdelete" in message.lower():
#Check if the user added a message number to the message
if "#" in message:
messageID = int(message.split("#")[1])
bot_response = bbs_delete_message(messageID)
else:
bot_response = "Please add a message number ex: bbsdelete #14"
elif "bbshelp" in message.lower():
bot_response = bbs_help()
else:
bot_response = "I'm sorry, I'm afraid I can't do that."