Files
meshing-around/bbstools.py
2024-06-26 15:24:17 -07:00

60 lines
2.0 KiB
Python

# helper functions for various BBS messaging tasks
# K7MHI Kelly Keeton 2024
from dadjokes import Dadjoke # pip install dadjokes
trap_list_bbs = ("bbslist", "bbspost", "bbsread", "bbsdelete", "bbshelp")
# global message list, later we will use a database on disk
bbs_messages = [[1, "Welcome to meshBBS", "Welcome to the BBS, please post a message!"]]
def tell_joke():
# tell a dad joke, does it need an explanationn :)
dadjoke = Dadjoke()
return dadjoke.joke
def bbs_help():
# help message
return "BBS Commands:\n'bbslist'\n'bbspost $subject #message'\n'bbsread #'\n'bbsdelete #'"
def bbs_list_messages():
#print (f"System: raw bbs_messages: {bbs_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."