Background
I started working on BotTastic for the Meshtastic radio network starting in January 2025.
After finding Meshtastic I ordered a node, flashed the firmware, started it up, and happily wanted to participate and connect. However, I realized that, mostly due to how meshtastic works, finding other nodes is difficult.
As a new commer, you don't know what's going on.
Am I not hearing anyone because there's no one around?
Have I misconfigured something?
The early days were frustrating.
I also noticed that most other folks are in the same situation. The primary public channel has a constent stream of: hello, test, testing, anybody there... So, here's an auto responder bot.


BotTastic
BotTastic started as a simple robot that has the goal of helping folks test their radio and figure out if their radio is working.

It now has a few commands for connection tests, daily joke, and some public services such as finding whether you have a duplicate key.
The following is the list of commands. Check this often for new commands.



Commands
testA message is sent addressed to the sender. Content changes. testingA message is sent addressed to the sender. Content changes. radio checkA message is sent addressed to the sender. Content changes. antenna checkA message is sent addressed to the sender. Content changes. echoRepeats everything after the word echo back addressed to the sender. fortuneA random joke from a list of one-liners collected on internet. distanceCalculates the distance to the user, if they have a location set. historyReturns the last few messages received on the channel. Very useful in comparing what the bot saw on the channel vs. what the user saw. You can also use this, in a DM, to do distance testing. Send unique messages from different locations, come back to range, issue history and see what was received.

This has two main uses.

Send it on the public channel to get a list of messages there. So you know if there are messages you missed.

Send, up to 5, as DM from different locations. Then from a spot where you know you have connectivity, DM the history command. The bot will DM you back the last five messages. This way, you can see what locations resulted in a successful delivery.

Remember, due to how Meshtastic limits number of hops a message can take, what you see could be very different than what the bot sees.

pubkeydupcheckCompares your public key to all the other nodes that the bot knows about for a match. Meshtastic has now updated the phone apps and the radio firmware to help detect this but the bot can also help you do a local check. BotTastic only knows the nodes it hears from so feel free to run it often. If there is a duplicate, you can get the new phone app and regenerate your key from Settings->Security.

List of duplicate keys



All these commands work over the public channel and direct messaging. The output could be slightly different though. On public channel, responses are addressed to the original sender.

Hop Count

In responding to messages, the bot has two goals:

Make sure the response gets to the original sender.

Reduce unnecessary propagation of packets through out the mesh.

Therefore, it uses hop limits cleverly. It calculates the number of hops the original message took to get to the bot and marks the out going packet with a similar hop limit. This increases the chances of the original sender receiving a reply and the rest of the mesh not. For example, if a "test" request is received with 2 hops, the reply goes back with a limit of 3 hops.

Chit ChatBotTastic will also be happy to engage is brainless chit-chat. This can be done as DMs, or on the public channel if the message is addressed directly by using @265e.
If you want someone to say Good Morning back, either DM your message, or prepend it with @265e: on the public channel.
for example: @265e: Good Morning

There are also other commands coming, to help people perform connection detection.