mirror of
https://github.com/agessaman/meshcore-bot.git
synced 2026-07-28 14:29:30 +00:00
- Updated `config.ini.example`, `config.ini.minimal-example`, and `config.ini.quickstart` to clarify connection type precedence and required keys for serial, BLE, and TCP connections. - Added detailed comments and examples for each connection type, ensuring users understand how to configure their connection settings effectively. - Introduced a new `[Service_Overrides]` section in `config.ini.example` for alternative service plugin implementations, improving extensibility. - Enhanced documentation in `configuration.md` to reflect these changes and provide clearer guidance on connection options and templates.
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
# MeshCore Bot - Easy Start Config
|
|
# 1. Copy to config.ini
|
|
# 2. Set serial_port (or hostname + tcp_port for TCP), bot_name, bot_latitude, bot_longitude
|
|
# 3. Run: python3 meshcore_bot.py
|
|
|
|
[Connection]
|
|
# serial (default). For ble/tcp see config.ini.example [Connection] precedence notes.
|
|
connection_type = serial
|
|
serial_port = /dev/ttyUSB0
|
|
#ble_device_name =
|
|
#hostname = 192.168.1.60
|
|
#tcp_port = 5000
|
|
timeout = 30
|
|
radio_probe_interval_seconds = 300
|
|
radio_probe_fail_threshold = 3
|
|
radio_zombie_alert_enabled = false
|
|
radio_zombie_alert_email =
|
|
radio_offline_threshold = 3
|
|
radio_offline_alert_enabled = false
|
|
radio_offline_alert_email =
|
|
|
|
[Bot]
|
|
bot_name = MeshCoreBot
|
|
enabled = true
|
|
bot_latitude = 40.7128
|
|
bot_longitude = -74.0060
|
|
db_path = meshcore_bot.db
|
|
rate_limit_seconds = 10
|
|
bot_tx_rate_limit_seconds = 1.0
|
|
per_user_rate_limit_seconds = 30
|
|
per_user_rate_limit_enabled = true
|
|
|
|
[Admin]
|
|
enabled = false
|
|
port = 5001
|
|
token =
|
|
|
|
[Channels]
|
|
monitor_channels = general,test,emergency
|
|
respond_to_dms = true
|
|
max_response_hops = 7
|
|
|
|
[Banned_Users]
|
|
banned_users =
|
|
|
|
[Admin_ACL]
|
|
# 64-char hex public keys (comma-separated). Leave blank to disable admin commands.
|
|
admin_pubkeys =
|
|
admin_commands = repeater,webviewer,reload,channelpause
|
|
|
|
[Keywords]
|
|
test = "ack @[{sender}]{phrase_part} | {connection_info} | Received at: {timestamp}"
|
|
# Optional: set [Test_Command] response_format to override this for test/t (see config.ini.example).
|
|
ping = "Pong!"
|
|
pong = "Ping!"
|
|
help = "Bot Help: test (or t), ping, version, help, hello, cmd, advert, wx, aqi, sun, moon, solar, hfcond, satpass, prefix, path, sports, dice, roll, stats | More: 'help <command>'"
|
|
|
|
[Logging]
|
|
log_level = INFO
|
|
# Rotates at 5 MB, keeps 3 backups (e.g. meshcore_bot.log.1, .2, .3)
|
|
log_file = meshcore_bot.log
|
|
|
|
# Weather (for wx command) - set default_state to your region
|
|
[Weather]
|
|
default_state = WA
|
|
default_country = US
|
|
|
|
# Path command - "p" shortcut for quick path decoding
|
|
[Path_Command]
|
|
enable_p_shortcut = true
|
|
# Optional reply prefix (same placeholders as Keywords: sender, connection_info, path, timestamp, snr, rssi)
|
|
# reply_prefix = @[{sender}]
|
|
# Require 2+ or 3 bytes per hop before naming repeaters; else hex + tip only (0/1 = always name)
|
|
# minimum_path_bytes = 0
|
|
|
|
[Version_Command]
|
|
enabled = true
|
|
|
|
# Sports - teams shown when user says "sports" with no args
|
|
[Sports_Command]
|
|
teams = seahawks,mariners,sounders,kraken
|
|
|
|
# FIFA World Cup scores (wc/worldcup); only responds during a tournament (auto-detected)
|
|
[Worldcup_Command]
|
|
enabled = true
|
|
|
|
# Optional: Web viewer — set web_viewer_password when host is not 127.0.0.1
|
|
# [Web_Viewer]
|
|
# enabled = true
|
|
# host = 127.0.0.1
|
|
# web_viewer_password = changeme
|
|
# port = 8080
|
|
# auto_start = true
|