Effective values loaded by the bot (sensitive keys are redacted). This view is read-only.
/opt/meshcore-bot/config.ini
[Connection]| Key | Value |
|---|---|
connection_type |
serial |
serial_port |
/dev/ttyACM0 |
timeout |
30 |
[Bot]| Key | Value |
|---|---|
bot_name |
TigroBot |
auto_update_device_name |
true |
rf_data_timeout |
15.0 |
message_correlation_timeout |
10.0 |
enable_enhanced_correlation |
true |
node_id |
|
radio_clock_use_local_time |
true |
command_prefix |
|
enabled |
true |
passive_mode |
false |
rate_limit_seconds |
10 |
bot_tx_rate_limit_seconds |
1.0 |
per_user_rate_limit_seconds |
5 |
per_user_rate_limit_enabled |
true |
tx_delay_ms |
250 |
dm_max_retries |
3 |
dm_max_flood_attempts |
2 |
dm_flood_after |
2 |
timezone |
Europe/Paris |
bot_latitude |
48.8252 |
bot_longitude |
2.3622 |
max_channels |
12 |
advert_interval_hours |
3 |
startup_advert |
flood |
auto_manage_contacts |
false |
db_path |
meshcore_bot.db |
service_restart_backoff_seconds |
300 |
[Channels]| Key | Value |
|---|---|
monitor_channels |
#bot |
respond_to_dms |
true |
prefix_bytes |
2 |
[Banned_Users]| Key | Value |
|---|---|
banned_users |
[Localization]| Key | Value |
|---|---|
language |
fr |
translation_path |
translations/ |
[Admin_ACL]| Key | Value |
|---|---|
admin_pubkeys |
"889fa138c712097e762a7808a175e136dcc56e0153ea81e40d14e59aaaed983c,a3fe27d34ac0cd110c007ca8c31eb5ed4f91b54fd88eb6ac8b7b723414ab1c60" |
admin_commands |
repeater,webviewer,reload |
[Plugin_Overrides]No keys in this section.
[Companion_Purge]| Key | Value |
|---|---|
companion_purge_enabled |
true |
companion_dm_threshold_days |
30 |
companion_advert_threshold_days |
30 |
companion_min_inactive_days |
30 |
[Keywords]| Key | Value |
|---|---|
test |
"ack @[{sender}]{phrase_part} | {connection_info} | Received at: {timestamp}" |
ping |
"Pong!" |
pong |
"Ping!" |
cmd |
"Available commands: test (or t), ping, help, bbs s, bbs r, bbs list, cmd, llm, advert, wx, sun, moon, solar, prefix, path, mt, stats" |
[Clock_Sync_Admin]| Key | Value |
|---|---|
enabled |
true |
schedule |
58 16 * * * |
targets |
62010a0a61b29fc8ede63c88a4e826b8a46199eafac674cdcc0fda4eb4475007,e1f098b837d0b3d11d59988d55908d4b8fcd661517c3bd010f8aaa62fc66ec49,1ce877d63d2b43f3b789375d1d0a1f8ab7dc1e02698105101294b1e468fe6218,1346ac0defbcc7e5800df1a051e18ace222e3a23282d20decd5d9e821750889b,910e9fc6337645b330a4268cb76be2ad797eb579459e11fb9448beffe4347106 |
command_payload |
clock sync admin |
dashboard_hop_radius |
15 |
dashboard_check_window_hours |
36 |
dashboard_max_clock_drift_seconds |
300 |
[RandomLine]| Key | Value |
|---|---|
prefix.default |
|
triggers.momjoke |
momjoke,momjokes,mom joke,mom jokes,mom-joke,mom-jokes |
file.momjoke |
data/randomlines/momjokes.txt |
prefix.momjoke |
🥸 |
triggers.funfact |
funfact,funfacts,fun fact,fun facts,fun-fact,fun-facts |
file.funfact |
data/randomlines/funfacts.txt |
prefix.funfact |
💡 |
[Scheduled_Messages]| Key | Value |
|---|---|
1100 |
Public:{total_contacts} total ({total_repeaters} repeaters, {total_companions} companions). {new_repeaters_7d} new repeaters, {new_companions_7d} new companions in last 7d. {recent_activity_24h} active 24h see #bot or DM |
1500 |
#bot:Bonjour, nous sommes sur https://t.me/Meshcore_FR |
1600 |
#bot:BBS today: {bbs_messages_today} msgs sent, {bbs_pending_messages} pending for {bbs_users_with_pending} users. |
[Logging]| Key | Value |
|---|---|
log_level |
DEBUG |
log_file |
|
colored_output |
true |
meshcore_log_level |
INFO |
[Custom_Syntax]No keys in this section.
[External_Data]| Key | Value |
|---|---|
weather_api_key |
●●●●●● |
weather_update_interval |
3600 |
tide_api_key |
●●●●●● |
tide_update_interval |
1800 |
n2yo_api_key |
●●●●●● |
airnow_api_key |
●●●●●● |
forecast_solar_api_key |
●●●●●● |
repeater_prefix_api_url |
|
repeater_prefix_cache_hours |
1 |
[Prefix_Command]| Key | Value |
|---|---|
show_repeater_locations |
true |
use_reverse_geocoding |
true |
hide_source |
false |
prefix_heard_days |
7 |
prefix_free_days |
7 |
max_prefix_range |
200 |
prefix_best_enabled |
true |
prefix_best_min_edge_observations |
2 |
prefix_best_max_edge_age_days |
30 |
prefix_best_location_radius_km |
50 |
prefix_best_do_not_suggest |
[Weather]| Key | Value |
|---|---|
weather_provider |
openmeteo |
default_state |
WA |
default_country |
FR |
temperature_unit |
celsius |
wind_speed_unit |
kmh |
precipitation_unit |
mm |
[Solar_Config]| Key | Value |
|---|---|
url_timeout |
10 |
use_zulu_time |
false |
[Aurora_Command]| Key | Value |
|---|---|
enabled |
true |
[Channels_List]| Key | Value |
|---|---|
weather |
Weather updates and conditions |
emergency |
Emergency communications and alerts |
sports.sounders |
Seattle Sounders FC |
sports.kraken |
Seattle Kraken |
sports.mariners |
Seattle Mariners |
sports.seahawks |
Seattle Seahawks |
sports.reign |
OL Reign |
sports.storm |
Seattle Storm |
sports.huskies |
Washington Huskies |
local.capitolhill |
Capitol Hill neighborhood |
local.ballard |
Ballard neighborhood |
local.fremont |
Fremont neighborhood |
local.queenanne |
Queen Anne neighborhood |
tech.mesh |
Mesh networking and technical discussions |
tech.hamradio |
Amateur radio and ham radio topics |
tech.programming |
Programming and development |
tech.iot |
Internet of Things projects |
emergency.emergency |
Emergency communications and alerts |
emergency.weather |
Weather updates and conditions |
emergency.traffic |
Traffic updates and road conditions |
emergency.hamradio |
Amateur radio emergency net |
[Sports_Command]| Key | Value |
|---|---|
enabled |
false |
teams |
seahawks,mariners,sounders,kraken |
channel_override |
#sounders=sounders,#seahawks=seahawks,#kraken=kraken,#mariners=mariners |
api_timeout |
10 |
[Stats_Command]| Key | Value |
|---|---|
enabled |
true |
data_retention_days |
30 |
auto_cleanup |
true |
track_all_messages |
true |
track_command_details |
true |
anonymize_users |
false |
[Data_Retention]| Key | Value |
|---|---|
packet_stream_retention_days |
14 |
daily_stats_retention_days |
90 |
observed_paths_retention_days |
90 |
purging_log_retention_days |
90 |
mesh_connections_retention_days |
7 |
[Path_Command]| Key | Value |
|---|---|
enabled |
true |
enable_p_shortcut |
true |
path_selection_preset |
balanced |
proximity_method |
path |
path_proximity_fallback |
true |
max_proximity_range |
200 |
max_repeater_age_days |
14 |
recency_weight |
0.4 |
recency_decay_half_life_hours |
24 |
graph_based_validation |
true |
min_edge_observations |
3 |
graph_edge_expiration_days |
7 |
graph_write_strategy |
hybrid |
graph_batch_interval_seconds |
30 |
graph_batch_max_pending |
100 |
graph_use_bidirectional |
true |
graph_use_hop_position |
true |
graph_multi_hop_enabled |
true |
graph_multi_hop_max_hops |
2 |
graph_geographic_combined |
false |
graph_geographic_weight |
0.7 |
graph_confidence_override_threshold |
0.7 |
graph_distance_penalty_enabled |
true |
graph_max_reasonable_hop_distance_km |
50 |
graph_distance_penalty_strength |
0.3 |
graph_zero_hop_bonus |
0.4 |
graph_prefer_stored_keys |
true |
graph_final_hop_proximity_enabled |
true |
graph_final_hop_proximity_weight |
0.25 |
graph_final_hop_max_distance |
0 |
graph_final_hop_proximity_normalization_km |
200 |
graph_final_hop_very_close_threshold_km |
10 |
graph_final_hop_close_threshold_km |
30 |
graph_final_hop_max_proximity_weight |
0.6 |
graph_path_validation_max_bonus |
0.3 |
graph_path_validation_obs_divisor |
50.0 |
graph_startup_load_days |
0 |
graph_capture_enabled |
true |
star_bias_multiplier |
2.5 |
[Joke_Command]| Key | Value |
|---|---|
enabled |
false |
seasonal_jokes |
true |
long_jokes |
false |
[DadJoke_Command]| Key | Value |
|---|---|
enabled |
false |
long_jokes |
false |
[Hacker_Command]| Key | Value |
|---|---|
enabled |
false |
[Multitest_Command]| Key | Value |
|---|---|
response_format |
@[{sender}] found {path_count} unique path(s):\n{paths} |
[Greeter_Command]| Key | Value |
|---|---|
enabled |
false |
greeting_message |
Welcome to the mesh, @[{sender}]! |
channel_greetings |
|
per_channel_greetings |
false |
include_mesh_info |
true |
mesh_info_format |
\n\nMesh Info: {total_contacts} contacts, {repeaters} repeaters, {recent_activity_24h} active in last 24h |
rollout_days |
7 |
auto_backfill |
false |
backfill_lookback_days |
30 |
[Alert_Command]| Key | Value |
|---|---|
enabled |
false |
[Announcements_Command]| Key | Value |
|---|---|
enabled |
false |
announcements_acl |
|
default_announcement_channel |
#bot |
announcement_cooldown |
60 |
announce.default |
This is the default announcement. |
announce.bots |
This is an announcement with the list of bots. |
announce.other |
This is a different announcement on another topic. |
[Airplanes_Command]| Key | Value |
|---|---|
enabled |
false |
api_url |
http://api.airplanes.live/v2/ |
default_radius |
25 |
max_results |
10 |
url_timeout |
10 |
[Wx_Command]| Key | Value |
|---|---|
enabled |
true |
[WebViewer_Command]| Key | Value |
|---|---|
enabled |
true |
[Sun_Command]| Key | Value |
|---|---|
enabled |
true |
[Solar_Command]| Key | Value |
|---|---|
enabled |
true |
[Solarforecast_Command]| Key | Value |
|---|---|
enabled |
false |
[Satpass_Command]| Key | Value |
|---|---|
enabled |
true |
[Roll_Command]| Key | Value |
|---|---|
enabled |
false |
[Repeater_Command]| Key | Value |
|---|---|
enabled |
true |
[Ping_Command]| Key | Value |
|---|---|
enabled |
true |
[Moon_Command]| Key | Value |
|---|---|
enabled |
true |
[Magic8_Command]| Key | Value |
|---|---|
enabled |
false |
[Hfcond_Command]| Key | Value |
|---|---|
enabled |
true |
[Help_Command]| Key | Value |
|---|---|
enabled |
true |
[Hello_Command]| Key | Value |
|---|---|
enabled |
false |
[Dice_Command]| Key | Value |
|---|---|
enabled |
false |
[Cmd_Command]| Key | Value |
|---|---|
enabled |
true |
[Llm_Command]| Key | Value |
|---|---|
enabled |
true |
endpoint |
http://127.0.0.1:8080/v1/chat/completions |
model |
|
system_prompt |
"Tu es un assistant accessible via le réseau Meshcore en LoRa. Réponds en français, très court, 310 caractères maximum. Sois précis et concis, maintiens la continuité de la conversation, évite au maximum les formules de politesse, tu tournes sur un Raspbrry Pi 5", |
max_tokens |
●●●●●● |
temperature |
0.75 |
top_p |
0.95 |
timeout_seconds |
150 |
strip_thinking_tags |
true |
context_window_seconds |
1800 |
context_max_turns |
20 |
pagination_enabled |
true |
page_count |
2 |
chars_per_page |
160 |
cpu_temp_threshold |
58.0 |
include_local_context |
true |
context_include_weather |
true |
context_include_repeaters |
true |
context_include_network_status |
true |
context_include_contacts |
true |
context_include_moon |
true |
context_include_sun |
true |
context_weather_location |
Paris, France |
context_cache_seconds |
60 |
[Channels_Command]| Key | Value |
|---|---|
enabled |
false |
[Catfact_Command]| Key | Value |
|---|---|
enabled |
false |
[Aqi_Command]| Key | Value |
|---|---|
enabled |
true |
[Advert_Command]| Key | Value |
|---|---|
enabled |
true |
channels |
#bot |
[Test_Command]| Key | Value |
|---|---|
enabled |
true |
[Trace_Command]| Key | Value |
|---|---|
enabled |
true |
maximum_hops |
8 |
trace_mode |
two_byte |
timeout_base_seconds |
1.0 |
timeout_per_hop_seconds |
0.5 |
trace_retry_count |
2 |
trace_retry_delay_seconds |
1.0 |
update_graph_one_byte |
true |
update_graph_two_byte |
true |
[Feed_Command]| Key | Value |
|---|---|
enabled |
false |
[Web_Viewer]| Key | Value |
|---|---|
enabled |
true |
host |
0.0.0.0 |
port |
8083 |
debug |
true |
auto_start |
true |
decode_hashtag_channels |
[PacketCapture]| Key | Value |
|---|---|
enabled |
false |
output_file |
|
verbose |
false |
debug |
false |
owner_public_key |
|
owner_email |
|
private_key_path |
|
auth_token_method |
●●●●●● |
iata |
PAR |
mqtt_enabled |
true |
mqtt1_enabled |
true |
mqtt1_server |
mqtt-us-v1.letsmesh.net |
mqtt1_port |
443 |
mqtt1_transport |
websockets |
mqtt1_use_tls |
true |
mqtt1_use_auth_token |
●●●●●● |
mqtt1_token_audience |
●●●●●● |
mqtt1_topic_status |
meshcore/{IATA}/{PUBLIC_KEY}/status |
mqtt1_topic_packets |
meshcore/{IATA}/{PUBLIC_KEY}/packets |
mqtt1_websocket_path |
/mqtt |
mqtt1_client_id |
|
mqtt1_upload_packet_types |
|
mqtt2_enabled |
true |
mqtt2_server |
mqtt-eu-v1.letsmesh.net |
mqtt2_port |
443 |
mqtt2_transport |
websockets |
mqtt2_use_tls |
true |
mqtt2_use_auth_token |
●●●●●● |
mqtt2_token_audience |
●●●●●● |
mqtt2_topic_status |
meshcore/{IATA}/{PUBLIC_KEY}/status |
mqtt2_topic_packets |
meshcore/{IATA}/{PUBLIC_KEY}/packets |
mqtt2_websocket_path |
/mqtt |
mqtt2_client_id |
|
mqtt2_upload_packet_types |
|
stats_in_status_enabled |
true |
stats_refresh_interval |
300 |
jwt_renewal_interval |
86400 |
health_check_interval |
30 |
health_check_grace_period |
2 |
[MapUploader]| Key | Value |
|---|---|
enabled |
false |
api_url |
https://map.meshcore.dev/api/v1/uploader/node |
private_key_path |
|
min_reupload_interval |
3600 |
verbose |
false |
[Weather_Service]| Key | Value |
|---|---|
enabled |
true |
weather_alarm |
6:00 |
my_position_lat |
48 |
my_position_lon |
2 |
weather_channel |
#bot |
alerts_channel |
#bot |
poll_weather_alerts_interval |
600000 |
blitz_alert_threshold |
15 # was silently ignored; defaulted to 10 |
blitz_collection_interval |
600000 |
[Earthquake_Service]| Key | Value |
|---|---|
enabled |
false |
channel |
#general |
poll_interval |
60000 |
time_window_minutes |
10 |
min_magnitude |
3.0 |
minlatitude |
32.5 |
maxlatitude |
42.0 |
minlongitude |
-124.5 |
maxlongitude |
-114.0 |
send_link |
true |
[DiscordBridge]| Key | Value |
|---|---|
enabled |
false |
avatar_style |
color |
[TelegramBridge]| Key | Value |
|---|---|
enabled |
false |
[Blitzortung_Service]| Key | Value |
|---|---|
enabled |
true |
channel |
#bot |
alert_threshold |
15 |
window_minutes |
15 |
[RepeaterPrefixCollision_Service]| Key | Value |
|---|---|
enabled |
true |
channels |
Public,#bot |
notify_on_prefix_bytes |
1 |
heard_window_days |
30 |
prefix_free_days |
30 |
post_process_delay_seconds |
0.5 |
post_process_timeout_seconds |
15.0 |
post_process_poll_interval_seconds |
0.2 |
include_prefix_free_hint |
true |
cooldown_minutes_per_prefix |
60 |
[BBS_Command]| Key | Value |
|---|---|
enabled |
true |
max_messages_per_user |
10 |
max_message_age_days |
30 |
max_messages_per_sender_per_day |
20 |