#Met this error while setting up Telegram bot:

1 messages · Page 1 of 1 (latest)

warm pasture
#

Your current OpenClaw configuration does not have any Telegram plugin or skill installed or enabled.

Specifically:

In "plugins.entries" (inside your config), there is no "telegram" section at all.
The only plugins listed are: "oxylabs-ai-studio-openclaw", "browser", and "openrouter".
Conclusion:
The Telegram integration/plugin is not present in your active OpenClaw setup.
→ You cannot configure or enable Telegram support until a suitable Telegram plugin/skill is properly installed and recognized in the configuration.

What to do next:

You need to locate, install, or add a compatible OpenClaw Telegram skill/plugin.
After a valid install, you should see a "telegram" entry (for example, "telegram": {"enabled": true, ...}) in "plugins.entries", or relevant structure per the plugin's documentation.
Only then can you proceed with config and token setup for Telegram.
If you need guidance installing (from source, npm, or other method), please specify the Telegram skill/plugin source or let me know if you want GitHub/manual installation instructions!

CPU: 2 vCPU
RAM: 8 GB
SSD: 100 GB
Bandwidth: 8 TB
Operating System: Ubuntu 24.04 with Docker and Traefik
Status: Running
Data Center: Kuala Lumpur, Malaysia
IP IPv4: 187.127.112.138
IP IPv6: 2a02:4780:5e:beab::1

Need help.

strange yachtBOT
vivid quiverBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

strange yachtBOT
warm pasture
#

My systems: CPU: 2 vCPU
RAM: 8 GB
SSD: 100 GB
Bandwidth: 8 TB
Operating System: Ubuntu 24.04 with Docker and Traefik
Status: Running
Data Center: Kuala Lumpur, Malaysia
IP IPv4: 187.127.112.138
IP IPv6: 2a02:4780:5e:beab::1

worn rapidsBOT
#

Let me check the docs and verify how Telegram is actually configured, because that earlier message smells off.

#

That earlier message is wrong for current OpenClaw.

Telegram is not something you add under plugins.entries. It’s a built-in channel, configured under channels.telegram.

First, paste this so we can rule out version weirdness:

pnpm openclaw --version

For Telegram, the minimal setup is:

{
  channels: {
    telegram: {
#
      enabled: true,
      botToken: "123:abc",
      dmPolicy: "pairing",
      groups: { "*": { requireMention: true } },
    },
  },
}

Or via CLI:

pnpm openclaw channels add --channel telegram --token "<bot-token>"

Then restart/start the gateway and pair your DM:

#
pnpm openclaw channels status --probe
pnpm openclaw status --all
#

I’m checking the Docker path too, since with Traefik the easiest setup is usually long polling, not webhooks.

#

Yep, that VPS is plenty for OpenClaw + Telegram.

The important correction is this:

Telegram is not a plugin/skill in OpenClaw.
It is a built-in channel, configured under channels.telegram, not plugins.entries.

Since you’re on Docker, first tell me the version:

docker compose run --rm openclaw-cli --version

Then the simplest Telegram setup is:

#
docker compose run --rm openclaw-cli channels add --channel telegram --token "<BOT_TOKEN>"
docker compose up -d openclaw-gateway
docker compose run --rm openclaw-cli channels status --probe
docker compose run --rm openclaw-cli pairing list telegram

If pairing list telegram shows a code, approve it:

docker compose run --rm openclaw-cli pairing approve telegram <CODE>

A few useful notes for your setup:

  • You do not need Traefik/webhooks to get started. Telegram uses long polling by default.
  • If you want the bot in groups later, configure channels.telegram.groups.
#
  • If the bot should see all group messages, disable Telegram privacy mode in BotFather, or make the bot an admin.

If you prefer config instead of the CLI, the minimal config looks like this:

{
  channels: {
    telegram: {
      enabled: true,
      botToken: "123:abc",
      dmPolicy: "pairing",
      groups: { "*": { requireMention: true } },
    },
  },
}
warm pasture
#

My system is running OpenClaw version 2026.4.12 (commit 1c0672b).

worn rapidsBOT
#

Perfect, that version is fine. 2026.4.12 already has Telegram built in as channels.telegram, so you do not need a Telegram plugin in plugins.entries.

Since you’re on Docker, I’d do this next:

docker compose run --rm openclaw-cli channels add --channel telegram --token "<BOT_TOKEN>"
docker compose up -d openclaw-gateway
docker compose run --rm openclaw-cli channels status --probe
docker compose run --rm openclaw-cli pairing list telegram

If a pairing code appears:

docker compose run --rm openclaw-cli pairing approve telegram <CODE>
#

If one of those commands errors, paste:

docker compose run --rm openclaw-cli channels status --probe
docker compose logs --tail=200 openclaw-gateway

and I’ll help you pin down the exact breakage.

warm pasture
#

I don't know where Docker is

worn rapidsBOT
# warm pasture I don't know where Docker is

If you don’t know where the Docker project lives, don’t fight Docker yet. The easier path is probably using the installed openclaw CLI directly on the server. That’s okay, then skip Docker for now.

If openclaw --version already works on the server, you can use the normal CLI directly. You’re probably looking in the wrong place, not missing a Telegram plugin.

Run this on the server:

openclaw channels add --channel telegram --token "<BOT_TOKEN>"
openclaw gateway restart
openclaw channels status --probe
openclaw pairing list telegram

If it shows a pairing code:

#
openclaw pairing approve telegram <CODE>

A few important points:

  • Telegram is configured under channels.telegram
  • It is not added via plugins.entries
  • You do not need Traefik/webhooks to start, Telegram uses long polling by default

If openclaw works but you want to inspect the config:

openclaw config get channels.telegram

If openclaw does not work and you really did install via Docker, then first find the compose folder:

#
docker --version
docker compose version
find ~ -maxdepth 3 \( -name docker-compose.yml -o -name compose.yml \) 2>/dev/null

Then cd into that folder and use the docker compose ... commands.

If you want, paste the output of these and I’ll tell you exactly which path you’re on:

openclaw --version
which openclaw
docker --version
docker compose version
warm pasture
#

All steps completed:

Telegram bot added: Successfully registered with OpenClaw.
Gateway: Gateway is running and reachable.
Channel status:
Telegram (@bot_name) is enabled, configured, running, using polling mode, and working.
Pairing status:
No pending Telegram pairing requests (bot is live, ready, and not waiting for extra device/user pairing).
Your OpenClaw Telegram integration is active and fully operational. If you need to invite the bot to groups or use any advanced features (admin commands, group pairing, etc.), let me know for step-by-step instructions!

Does that mean it's completed?

worn rapidsBOT
#

Yes, that means the core Telegram setup is completed. 🎉

What’s confirmed:

  • bot token is valid
  • OpenClaw sees Telegram
  • gateway is running
  • Telegram channel is active and working in polling mode

The only thing I’d still do is a real message test:

  1. Open Telegram
  2. DM your bot something simple like hi
  3. If it replies, you’re fully done

Small nuance:

  • If your dmPolicy is pairing, the first DM can create a pairing request, so “no pending pairing requests” just means there isn’t one right now