Telegram — a bot to notify you
What it is for. Alerts about what Kustos did, sent to you rather than left in a log you have to go and read. It is also the one notification channel you can act from: approving a /request in Telegram adds the title to Sonarr/Radarr straight away. That is a real action, not an acknowledgement.
Cost. Free.
Optional. Kustos runs perfectly without notifications. Discord is the other option and needs only a webhook URL.
You need two values, and they come from two different bots. This trips people up, so do them in order.
The bot token
- In Telegram, search for @BotFather and start a chat with it. It is Telegram's own bot for making bots, and it has a blue verified tick — there are impersonators, so check for it.
- Send /newbot.
- It asks for a display name. Anything you like; this is what appears at the top of the chat. "Kustos" is fine.
- It then asks for a username, which must be unique across all of Telegram and must end in bot. If your first choice is taken it simply asks again.
- BotFather replies with a line beginning "Use this token to access the HTTP API", followed by the token. Copy it.
Treat the token as a password. Anyone holding it can post as your bot. BotFather can revoke and reissue it with /revoke if it ever leaks.
The admin chat id
The token lets Kustos send messages. The chat id says where. Telegram will not let a bot message you until you have spoken to it first, so:
- Open a chat with the bot you just made and send it /start. Nothing will appear to happen. That is expected — it is opening the channel, not getting a reply.
- Now search for @userinfobot and send it /start as well. It replies with your account details, including a numeric Id. Copy that number.
- In Kustos, go to Settings → Automation → Notifications, paste the token into Bot token and the number into Admin chat id, and save.
If no message ever arrives, it is almost always step 6 that was skipped. A bot cannot open a conversation with you; you have to open it with the bot.
The token comes back masked once saved, and that is deliberate. Saving the form without touching the field means "unchanged" and keeps the real token, so you cannot read a saved token back out of Kustos.