Documentation v1.1.1

Telegram and Discord Setup

·

Where the Telegram and Discord bot settings, tokens and authorized chats are stored.

Key Location
telegram_enabled / discord_enabled config.json (bot usernames are filled into telegram_username / discord_username)
TELEGRAM_TOKEN / DISCORD_TOKEN keychain (agenvoy service)
Authorized chat IDs ~/.config/agenvoy/.telegram and ~/.config/agenvoy/.discord (one ID per line, written after 6-digit OTP verification succeeds)
Verification-code relay admin_channel in config.json — /config → Admin Channel in the TUI (moved there from /channel → admin in v1.1.0; /channel now holds only the Telegram and Discord tabs), or POST /v1/channel/admin, picks an authorized chat or a raw tg@<id> / dc@<id> target. The /admin-channel command was removed
Inbound voice messages Transcribed with whichever model stt_model in config.json names (/model → stt in the TUI). With none selected the bot answers that no speech-to-text model is set instead of transcribing

Both channels can also be enabled or disabled through POST /v1/channel/telegram and POST /v1/channel/discord, which store the token and flip the flag; the daemon's config watcher reconnects the bot and fills in its username. Platform formatting rules are embedded in the channel system prompts — there is no format_chatbot tool.

Both bots connect outbound from the daemon, so the host needs no inbound port, public hostname, or reverse proxy — a bot token is the whole setup. That is also the bar for adding another platform: one is considered only when it improves on this, not merely to widen the list.

Voice output was removed from both channels. [SEND_VOICE:<text>] no longer exists and replies are never synthesized into a chat; speech synthesis is the generate_audio tool, which writes a file to the output directory and is gated on tts_model. Since v1.0.13 that file defaults to opus, and a .ogg / .oga / .opus attachment sent to Telegram goes out as a voice note instead of a document — Discord still receives it as a file.

中文