Notify & Telegram setup

Dual-domain notify, plus BotFather bot creation, chat_id lookup, and binding in System Notify / Notifications with a test send.

Adswds Platform can deliver ops alerts (license expiring, domain unhealthy, and similar) over Telegram. Ops and account notify can also use Webhook (URL + optional signing), alone or together with Telegram. Webhook details: Notify & Webhook setup.

Two configs, fully separate

Ops console System NotifyConsole System → Notifications
WhoPlatform opsAccount admin
What you getOps-side alertsAlerts for this account
TelegramOps bot token + chat IDThis account’s own bot token + chat ID
WebhookOps receive URL (optional signing)Account receive URL (optional signing)
Language / templatesOne system set; System Notify onlyPer account; this account’s Notifications only
Inactive / expired account—Notify for that account is skipped

The same business event can fan out to both sides. If one side is unconfigured or off, the other can still deliver alone. On the same side you can enable Telegram and Webhook together.

Notify events

  • License expiring: advance notice by the configured day count
  • Domain unhealthy: domain probe failure or certificate request/renewal failure
  • Other events follow the list on each notify page (for example account Daily domain health, ops System health)

Each event has a toggle. Nothing is sent without a usable Telegram or Webhook binding, when the system master switch is off (ops side), or when the account is not in service.

Notify language and message templates

  • Notify language (zh / en / ja, default Chinese): controls message body language; independent of the console UI language
  • Templates: edit title/body per event; {{placeholders}} are listed on the page
  • Edit and Reset to default apply only to the current notify language; switching language does not wipe other languages’ overrides
  • Leave blank to use the built-in default for that language

Configure a Telegram bot

Ops and console use the same fields: Bot Token + Chat ID. You may share one bot or create two.

1. Create a bot with BotFather

  1. In Telegram, open the official @BotFather (verified)
  2. Send /newbot and follow the prompts for display name and username (username must end with bot)
  3. On success, BotFather returns an HTTP API token — that is the Bot Token for the product
  4. Do not post the token in public groups or screenshots; if leaked, /revoke in BotFather and replace it

Bot Token format (must be complete)

  • Full form is numericID:secret, e.g. 7123456789:AAH...
  • Keep both sides of the colon
  • Do not add a bot prefix (the product builds the API path)
  • Do not paste a full https://api.telegram.org/bot... URL; token only
  • An incomplete token (only the part after :) causes Telegram to return HTTP 404 Not Found

Validate the token

curl https://api.telegram.org/bot<TOKEN>/getMe

"ok": true in the JSON means the token is valid.

2. Get the Chat ID

Private chat

  1. Find your bot in Telegram and tap Start (or send any message — the bot must have seen the chat at least once)
  2. Open in a browser (replace <BOT_TOKEN>):
https://api.telegram.org/bot<BOT_TOKEN>/getUpdates
  1. Find "chat":{"id": ...} — that number is the Chat ID (private chats are usually positive)

Group / supergroup

  1. Add the bot to the target group
  2. Send a message in the group (if getUpdates stays empty, disable Group Privacy for the bot in BotFather, then send again)
  3. Open the same getUpdates URL and read chat.id
  4. Group / supergroup IDs are negative; after upgrade to a supergroup they often look like -100...
  5. Paste the full number (including the minus sign)

After a group upgrades to a supergroup

The old chat id may stop working. Send a message to the bot again, read the new -100... id from getUpdates, and update the product.

If a Telegram webhook was previously set on the bot, getUpdates may return empty — call deleteWebhook first, or obtain the chat ID another reliable way and paste it into the product.

3. Where to paste

Console (this account)

  1. Sign in as an account admin
  2. Open System → Notifications
  3. Under Channels, enable Telegram and paste Bot Token + Chat ID
  4. Enable the events you need, pick notify language, optionally edit templates
  5. Save, then Test send and confirm the message arrives

Ops console (platform alerts)

  1. Sign in to the ops console
  2. Open System Notify
  3. Configure master switch, advance days, events, language, and templates
  4. Under Channels, enable Telegram with the ops Bot Token and Chat ID
  5. Save and test; live alerts also need scheduled jobs (license scan, domain probes, etc.) deployed

Ops and account token / chat_id live in separate stores; changing one does not overwrite the other.

Common fill mistakes

When test send fails, check these first:

MistakeSymptom / causeFix
Token missing the numeric ID before :Only :AAH... was pasted; Telegram returns 404 Not FoundFull numericID:secret, both sides of the colon
Token has a bot prefix or full API URLInvalid field; path duplicated or unparsableBotFather token only — no bot, no URL
Group Chat ID missing the minus sign-100123... written as 100123...Groups / supergroups need the minus sign
Still using the pre-upgrade group IDOld id invalid after upgrade to supergroupRead new -100... from getUpdates and update

Test send and troubleshooting

SymptomCheck
Test send failsSection above; full token, Chat ID sign, bot has seen the chat; validate with getMe
Test OK but no live alertsEvent toggles; ops master switch; account still in service
Group gets nothingBot in group; group privacy; new supergroup id
Wrong copyCurrent notify language vs templates; reset clears current language only

Related: Notify & Webhook setup · System & Account · Console overview · FAQ.