Install
openclaw skills install telegram-agent-setupComplete guide to connecting OpenClaw with Telegram. Set up bot, configure channels, handle groups/topics, voice messages, inline buttons, media, and trouble...
openclaw skills install telegram-agent-setupopenclaw gateway status shows OK)/newbotbot, e.g., my_ai_assistant_bot)7123456789:AAH...)/setprivacy → Disable (so bot sees all messages in groups)
/setjoingroups → Enable (if you want to add bot to groups)
/setcommands → Set your commands:
start - Start the bot
help - Show help
status - Check status
openclaw telegram setup
Follow the interactive prompts. Paste your bot token when asked.
Edit ~/.openclaw/openclaw.json:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "YOUR_BOT_TOKEN_HERE",
"allowedChatIds": []
}
}
}
Then restart:
openclaw gateway restart
/start or any messageIf no response:
openclaw gateway status
openclaw gateway logs --tail 50
Critical. Without this, anyone who finds your bot can use your Claude subscription.
{
"channels": {
"telegram": {
"allowedChatIds": ["YOUR_TELEGRAM_USER_ID"],
"rejectUnknown": true
}
}
}
Find your user ID: message @userinfobot on Telegram.
openclaw gateway logs | grep "chat_id"allowedChatIds (group IDs are negative: -1001234567890)topic_idmulti-agent-architecture skill){
"groupBehavior": {
"respondTo": "mention"
}
}
Options: "all" (every message), "mention" (when tagged — recommended), "command" (only /commands).
python3 -m venv ~/.openclaw/venvs/stt-tools
source ~/.openclaw/venvs/stt-tools/bin/activate
pip install faster-whisper
Model sizes: tiny (fast, ~1GB RAM), base (better, ~2GB), small (best, ~4GB).
Create scripts/transcribe_audio.py:
#!/usr/bin/env python3
import sys
from faster_whisper import WhisperModel
def transcribe(audio_path, model_size="tiny", language="ru"):
model = WhisperModel(model_size, device="cpu", compute_type="int8")
segments, _ = model.transcribe(audio_path, language=language)
print(" ".join(seg.text.strip() for seg in segments))
if __name__ == "__main__":
transcribe(sys.argv[1],
sys.argv[2] if len(sys.argv) > 2 else "tiny",
sys.argv[3] if len(sys.argv) > 3 else "ru")
openclaw gateway status — is it running?openclaw gateway logs --tail 100 | grep -i error — any errors?→ Add allowedChatIds + rejectUnknown: true
→ Check server load (htop), check for rate limits in logs
→ Check STT venv exists and faster-whisper installed → Telegram sends .ogg (opus) — faster-whisper handles it natively
→ OpenClaw uses long polling by default (no public IP needed)
allowedChatIds configuredrejectUnknown: true enabled"silent" (no error messages to users)