FomoTelegram
FomoTelegram: A Fomo submod that relays On-Together chat messages to a Telegram chat via a Telegram Bot. Use /fomohelp and look for /fomotelegram commands
CHANGELOG
Changelog
[1.2.9] - 2026-04-17
Added
/fomotelegramrestart(/ftr) - reload config from disk and restart the Telegram connection without a game restart. Disposes the old manager and creates a new one with the freshly loaded credentials./fomotelegramreloadconfig(/ftrc) - reload config from disk and display the current API key (masked) and chat ID, without reconnecting.
Changed
- Setup no longer requires a game restart after filling in the config. Edit the config file then run
/ftrto connect immediately. - API key is masked in all notifications (first 4 + last 4 characters visible) to prevent accidental exposure in chat.
[1.2.8] - 2026-04-16
Changed
- Improved error logging in
FomoTelegramManager.ValidateAndStartReceiverAsync:HttpRequestException(network/TLS failure) is now caught separately and logged as a network error rather than misleadingly suggesting an invalid API key.- Full inner exception chain is logged so the root cause (DNS, TLS negotiation, missing certificates) is visible.
- Telegram
error_codeanddescriptionfields are extracted from the JSON response and logged when the API itself rejects the request. - Added
LogDebugof the rawgetMeHTTP status and response body.
- Added
ServicePointManager.SecurityProtocol = Tls12in the constructor to fix TLS negotiation failures on Mono/Unity.
[1.2.7] - 2026-04-12
Changed
- Dependency update to Alpha 0.0.11
[0.2.3] - 2026-03-06
Changed
- Fixed set message and notification format in-game
[0.2.2] - 2026-03-04
Changed
- Incoming Telegram messages are now routed via
ChatUtils.DispatchIncomingText:/fomo*commands are processed directly byChatCommandManager; other slash commands are injected via the UI input system; plain text is sent through the regular chat pipeline - TMP tag stripping now also removes
<align>and<rotate>tags
[0.2.1] - 2026-03-02
Fixed
- Build configuration: corrected
Directory.Build.propsand.csprojto restore clean builds
[0.1.0] - 2026-03-01
Added
- Initial release of FomoTelegram
FomoTelegramPlugin— BepInEx entry point; reads config and registers the sink with Fomo'sSinkManagerFomoTelegramManager— owns anHttpClientpointed at the Telegram Bot HTTP API, validates credentials on startup, and runs a rate-limited background send queue (≥50 ms between messages); also runs a long-poll receiver loop to inject Telegram replies back into the gameTelegramChatSink—IChatSinkimplementation; applies per-channel filters (global / local / notifications) and formats messages using configurable format strings/fomotelegramtoggle(/ftt) — toggle Telegram forwarding on/off/fomotelegramsetupinfo(/ftsinfo) — print setup instructions and current config status in-game/fomotelegrammessageformat(/ftmf) — get or set the chat message format string at runtime/fomotelegramnotificationformat(/ftnf) — get or set the notification format string at runtime- Config entries:
EnableFeature,TelegramBotApiKey,TelegramChatId,RelayGlobalChat,RelayLocalChat,RelayNotifications,MessageFormat,NotificationFormat - Uses
HttpClient+Newtonsoft.Jsonagainst the Telegram Bot HTTP API directly — noTelegram.Botlibrary dependency, ensuring full Mono/BepInEx compatibility