Files
agessaman b59fa9cec9 feat(config, docs): enhance rain command and stats collection configuration
- Updated the `[Rain_Command]` section in `config.ini.example` to include support for snow alongside rain, improving the command's functionality.
- Enhanced documentation for the rain command to reflect the new snow alias and clarify response behavior based on the selected keyword.
- Added a new `collect_stats` option in the `[Stats_Command]` section, allowing stats collection to be enabled independently of the user-facing command, with updated documentation to explain its behavior.
- Improved the web viewer documentation to clarify how stats are collected and displayed, ensuring users understand the configuration options.
2026-06-28 13:28:23 -07:00

68 lines
2.5 KiB
Markdown

# World Cup
The bot has two World Cup features that work together, both driven by ESPN data and active **only while a FIFA World Cup (men's or women's) is actually in progress**. The active tournament is auto-detected from the ESPN schedule, so no dates need to be configured — outside a tournament both features idle.
- **`wc` / `worldcup` command** — on-demand scores and fixtures (see the [Command Reference](command-reference.md#wc-or-worldcup)).
- **World Cup Live Service** — proactive match announcements posted to a channel.
World Cup scores are also available year-round through the regular [`sports` command](command-reference.md#sports), e.g. `sports fifa`.
## Command (`[Worldcup_Command]`)
```ini
[Worldcup_Command]
# Enable or disable the World Cup command (true/false). Commands: wc / worldcup
enabled = true
# ESPN API timeout in seconds
api_timeout = 10
# How long (minutes) to cache season detection and nation roster lookups,
# to avoid repeated ESPN requests. Default: 360 (6 hours).
cache_ttl_minutes = 360
```
## Live Service (`[Worldcup_Service]`)
Posts proactive messages to a channel as matches progress, for example:
```
Group E: Côte d'Ivoire 0, Ecuador 0 (half-time)
Group J: Argentina 1, Algeria 0 — 23' Lionel Messi
```
The service only runs while a tournament is in progress and idles otherwise. It pairs with the `wc`/`worldcup` command. Enable it in `[Worldcup_Service]`:
```ini
[Worldcup_Service]
enabled = false
# Optional regional TC_FLOOD scope for mesh channel posts from this service.
# flood_scope = #west
# Channel to post live updates to
channel = #general
# Poll interval (ms) while a tournament is active but no match is in progress. Default: 60000
poll_interval = 60000
# Faster poll interval (ms) used while at least one match is LIVE. ESPN's scoreboard is
# edge-cached ~15-20s, so polling faster yields no fresher data. Default: 20000
live_poll_interval = 20000
# Idle interval (seconds) used when no tournament is in progress. Default: 1800 (30 min)
idle_interval = 1800
# Which match events to announce (each true/false)
announce_kickoff = true
announce_goals = true
# Post a follow-up when a previously-announced goal is overturned by VAR. Requires announce_goals.
announce_disallowed = true
# Announce red cards
announce_red_cards = true
# Announce yellow cards too. OFF by default — yellows are frequent and can flood a mesh channel.
announce_yellow_cards = false
```
See `config.ini.example` for the full annotated list of options.