mirror of
https://github.com/SpudGunMan/meshing-around.git
synced 2026-04-30 18:42:17 +02:00
Nestpebble Ideas
@Nestpebble here is the changes I did to bring this in thank you for the ideas and enhancements!! 🥔
* whoami new command
* enhancing MOTD
* new and better icons
This commit is contained in:
@@ -36,6 +36,7 @@ Any messages that are over 160 characters are chunked into 160 message bytes to
|
||||
- `bbsdelete` delete a message example use: `bbsdelete #4`
|
||||
- Other functions
|
||||
- `whereami` returns the address of location of sender if known
|
||||
- `whoami` returns some details of the node asking
|
||||
- `tide` returns the local tides, NOAA data source
|
||||
- `wx` and `wxc` returns local weather forecast, (wxc is metric value), NOAA or Open Meteo for weather forecasting.
|
||||
- `wxa` and `wxalert` return NOAA alerts. Short title or expanded details
|
||||
@@ -256,6 +257,6 @@ Games Ported from..
|
||||
- https://github.com/Himan10/BlackJack
|
||||
- https://github.com/devtronvarma/Video-Poker-Terminal-Game
|
||||
|
||||
GitHub user mrpatrick1991 For Docker configs, PiDiBi looking at test functions and other suggestions like wxc, CPU use, and alerting ideas
|
||||
GitHub user Nestpebble, for new ideas and enhancments, mrpatrick1991 For Docker configs, PiDiBi looking at test functions and other suggestions like wxc, CPU use, and alerting ideas
|
||||
Discord and Mesh user Cisien, and github Hailo1999, for testing and ideas! Lots of individuals on the Meshtastic discord who have tossed out ideas and tested code!
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ defaultChannel = 0
|
||||
# motd is reset to this value on boot
|
||||
motd = Thanks for using MeshBOT! Have a good day!
|
||||
welcome_message = MeshBot, here for you like a friend who is not. Try sending: ping @foo or, cmd
|
||||
# whoami
|
||||
whoami = True
|
||||
# enable or disable the Joke module
|
||||
DadJokes = True
|
||||
# enable or disable the Solar module
|
||||
|
||||
49
mesh_bot.py
49
mesh_bot.py
@@ -88,22 +88,29 @@ def handle_ping(message, hop, snr, rssi):
|
||||
|
||||
def handle_motd(message, message_from_id):
|
||||
global MOTD
|
||||
if "?" in message and not "$": #basic help message - borked
|
||||
return "Message of the day, set with 'motd $ motd'"
|
||||
elif "$" in message and str(message_from_id) in str(bbs_admin_list): #access control via bbs admin list - works
|
||||
motd = message.split("$")[1]
|
||||
MOTD = motd.rstrip()
|
||||
logger.debug(f"System: node changed MOTD: ", {message_from_id})
|
||||
return "MOTD Set to: " + MOTD
|
||||
elif "$" in message and not str(bbs_admin_list).strip(): #no names in bbs admin list - borked
|
||||
motd = message.split("$")[1]
|
||||
MOTD = motd.rstrip()
|
||||
return "MOTD Set to: " + MOTD
|
||||
elif "$" in message and str(bbs_admin_list).strip(''):
|
||||
logger.debug(f"System: node tried to change MOTD: ", str({message_from_id}))
|
||||
return "I can't do that for you "
|
||||
isAdmin = False
|
||||
msg = ""
|
||||
# check if the message_from_id is in the bbs_admin_list
|
||||
if bbs_admin_list != ['']:
|
||||
for admin in bbs_admin_list:
|
||||
if str(message_from_id) == admin:
|
||||
isAdmin = True
|
||||
break
|
||||
else:
|
||||
return MOTD
|
||||
isAdmin = True
|
||||
|
||||
if "$" in message and isAdmin:
|
||||
motd = message.split("$")[1]
|
||||
MOTD = motd.rstrip()
|
||||
logger.debug(f"System: {message_from_id} changed MOTD: {MOTD}")
|
||||
msg = "MOTD changed to: " + MOTD
|
||||
elif "?" in message:
|
||||
msg = "Message of the day, set with 'motd $ HelloWorld!'"
|
||||
else:
|
||||
logger.debug(f"System: {message_from_id} requested MOTD: {MOTD} isAdmin: {isAdmin}")
|
||||
msg = "MOTD: " + MOTD
|
||||
|
||||
return msg
|
||||
|
||||
def handle_wxalert(message_from_id, deviceID, message):
|
||||
if use_meteo_wxApi:
|
||||
@@ -482,7 +489,17 @@ def handle_testing(message, hop, snr, rssi):
|
||||
return "🎙Testing 1,2,3 " + hop
|
||||
|
||||
def handle_whoami(message_from_id, deviceID):
|
||||
return "You are " + str(message_from_id) + " AKA " + str(get_name_from_number(message_from_id, 'long', deviceID))
|
||||
loc = []
|
||||
msg = "You are " + str(message_from_id) + " AKA " +\
|
||||
str(get_name_from_number(message_from_id, 'long', deviceID) + " AKA " +\
|
||||
str(get_name_from_number(message_from_id, 'short', deviceID)) + " AKA " +\
|
||||
str(decimal_to_hex(message_from_id)) + " AKA " +\
|
||||
str(message_from_id) + f"\n")
|
||||
loc = get_node_location(message_from_id, deviceID)
|
||||
if loc != [latitudeValue,longitudeValue]:
|
||||
msg += f"You are at: lat:{loc[0]} lon:{loc[1]}\n"
|
||||
return msg
|
||||
|
||||
|
||||
def onDisconnect(interface):
|
||||
global retry_int1, retry_int2
|
||||
|
||||
@@ -96,6 +96,7 @@ try:
|
||||
welcome_message = (f"{welcome_message}").replace('\\n', '\n') # allow for newlines in the welcome message
|
||||
motd_enabled = config['general'].getboolean('motdEnabled', True)
|
||||
MOTD = config['general'].get('motd', MOTD)
|
||||
whoami_enabled = config['general'].getboolean('whoami', True)
|
||||
dad_jokes_enabled = config['general'].getboolean('DadJokes', False)
|
||||
solar_conditions_enabled = config['general'].getboolean('spaceWeather', True)
|
||||
wikipedia_enabled = config['general'].getboolean('wikipedia', False)
|
||||
@@ -144,6 +145,7 @@ try:
|
||||
blackjack_enabled = config['games'].getboolean('blackjack', True)
|
||||
videoPoker_enabled = config['games'].getboolean('videoPoker', True)
|
||||
|
||||
# messaging settings
|
||||
responseDelay = config['messagingSettings'].getfloat('responseDelay', 0.7) # default 0.7
|
||||
splitDelay = config['messagingSettings'].getfloat('splitDelay', 0) # default 0
|
||||
MESSAGE_CHUNK_SIZE = config['messagingSettings'].getint('MESSAGE_CHUNK_SIZE', 160) # default 160
|
||||
|
||||
@@ -10,7 +10,7 @@ import contextlib # for suppressing output on watchdog
|
||||
from modules.log import *
|
||||
|
||||
# Global Variables
|
||||
trap_list = ("cmd","cmd?","whoami") # default trap list
|
||||
trap_list = ("cmd","cmd?",) # default trap list
|
||||
help_message = "CMD?:"
|
||||
asyncLoop = asyncio.new_event_loop()
|
||||
games_enabled = False
|
||||
@@ -34,6 +34,12 @@ if motd_enabled:
|
||||
trap_list = trap_list + trap_list_motd
|
||||
help_message = help_message + ", motd"
|
||||
|
||||
# whoami Configuration
|
||||
if whoami_enabled:
|
||||
trap_list_whoami = ("whoami",)
|
||||
trap_list = trap_list + trap_list_whoami
|
||||
help_message = help_message + ", whoami"
|
||||
|
||||
# Solar Conditions Configuration
|
||||
if solar_conditions_enabled:
|
||||
from modules.solarconditions import * # from the spudgunman/meshing-around repo
|
||||
|
||||
Reference in New Issue
Block a user