mirror of
https://github.com/SpudGunMan/meshing-around.git
synced 2026-08-08 01:42:51 +02:00
basic BBS try one
This commit is contained in:
+50
-1
@@ -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
@@ -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."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user