一键导入
openclaw-telegram-bot-debug
Bring up OpenClaw Telegram channel and debug "bot online but not replying" by separating channel transport issues from LLM/auth issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Bring up OpenClaw Telegram channel and debug "bot online but not replying" by separating channel transport issues from LLM/auth issues.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
AgentOS CLI - Autonomous agent framework with ROMA planning, HTAA tool grouping, MOSAIC safety, InfiAgent memory, and REDEREF reflection. Use for complex task automation.
Safely handle requests to install all Kali tools on Ubuntu/Debian hosts; detect incompatibility, avoid breaking base system, rollback repo changes, and pivot to container/chroot/VM strategy.
Deploy Supabase self-hosted on Ubuntu with Docker, handle Compose package quirks, initialize secure .env, bring up stack, and verify DB connectivity for app use.
Systematic exploratory QA testing of web applications — find bugs, capture evidence, and generate structured reports
Microsoft open-source frontier Voice AI — ASR (speech-to-text) and TTS (text-to-speech). Handles 60-min audio, multilingual, speaker diarization.
Direct browser control via CDP (Chrome DevTools Protocol). Connects to the user's already-running Chrome for automation, scraping, testing, and web interaction.
| name | openclaw-telegram-bot-debug |
| description | Bring up OpenClaw Telegram channel and debug "bot online but not replying" by separating channel transport issues from LLM/auth issues. |
| version | 1.0.0 |
| author | Hermes Agent |
| license | MIT |
| metadata | {"hermes":{"tags":["openclaw","telegram","troubleshooting","gateway","llm-auth"]}} |
openclaw config set channels.telegram.enabled true --strict-json
openclaw config set channels.telegram.tokenFile '"/root/.config/faftech/openclaw_telegram_bot_token"' --strict-json
systemctl --user restart openclaw-gateway.service
openclaw channels status --probe
openclaw status --deep
If probe says Telegram is enabled/configured/running, transport is likely alive.
Use direct message send test:
openclaw message send --channel telegram --target <chat_id> --message "tes" --json
Interpretation:
openclaw channels logs --channel telegram --lines 200
Key pattern:
getUpdates ... 409 Conflict ... terminated by other getUpdates request
openclaw logs --limit 300 --plain
Key pattern:
No API key found for provider "openai"Meaning:
Temporary open policy is okay only for quick testing; then tighten:
openclaw config set channels.telegram.dmPolicy '"pairing"' --strict-json
openclaw config set channels.telegram.groupPolicy '"allowlist"' --strict-json
systemctl --user restart openclaw-gateway.service
openclaw security audit
When changing Telegram bot token:
600.If user asks to switch model to github-copilot/*:
openclaw models set github-copilot/... may succeed, but generation can still fail during runtime token exchange.openclaw models auth login-github-copilot (interactive TTY required).Copilot token exchange failed: HTTP 404.openclaw infer model run ... as source of truth, not only auth status.Docs-backed nuance that matters in practice:
COPILOT_GITHUB_TOKEN > GH_TOKEN > GITHUB_TOKEN.Quick diagnostics:
# token prefix sanity (masked): many failing cases show gho_/ghp_ tokens
python - <<'PY'
from pathlib import Path
for p in ['/root/.hermes/.env','/root/.config/faftech/openclaw-model.env']:
t=None
for line in Path(p).read_text().splitlines():
if line.startswith('COPILOT_GITHUB_TOKEN='):
t=line.split('=',1)[1].strip().strip('"').strip("'")
break
print(p, 'prefix='+ (t[:4] if t else 'missing'), 'len=' + (str(len(t)) if t else '0'))
PY
openclaw infer model auth status --json
openclaw infer model run --local --model github-copilot/gpt-5.3-codex --prompt "Reply exactly: OK" --json
If run test fails with exchange 404:
openclaw models auth login-github-copilot --yesOpenClaw gateway should run as a user systemd service (not root), so it survives reboots independently.
root but serving a non-root user session → DBUS_SESSION_BUS_ADDRESS missing on reboot.ExecStart and all Environment= paths must point to the actual user home, not /root.loginctl enable-linger <user> is required — without it, user systemd services die after user logout.XDG_RUNTIME_DIR=/run/user/<uid> when invoking systemctl --user remotely.# 1. Ensure linger is enabled (survives user logout/reboot)
loginctl enable-linger fikri
# 2. Copy and fix service file to user's systemd dir
mkdir -p /home/fikri/.config/systemd/user
cp /root/.config/systemd/user/openclaw-gateway.service /home/fikri/.config/systemd/user/
# 3. Fix all /root paths → /home/fikri paths in ExecStart + Environment vars
# Also fix EnvironmentFile path (must be under user's home)
# Key vars: HOME=/home/fikri, TMPDIR=/tmp/openclaw, PATH=... all under /home/fikri
# 4. Symlink for WantedBy=default.target
mkdir -p /home/fikri/.config/systemd/user/default.target.wants
ln -sf /home/fikri/.config/systemd/user/openclaw-gateway.service \
/home/fikri/.config/systemd/user/default.target.wants/
# 5. Daemon-reload + enable
sudo -u fikri bash -c 'XDG_RUNTIME_DIR=/run/user/1000 systemctl --user daemon-reload'
sudo -u fikri bash -c 'XDG_RUNTIME_DIR=/run/user/1000 systemctl --user enable openclaw-gateway.service'
# 6. Verify
sudo -u fikri bash -c 'XDG_RUNTIME_DIR=/run/user/1000 systemctl --user is-enabled openclaw-gateway.service'
# Expected: enabled
# 7. Status check
sudo -u fikri bash -c 'XDG_RUNTIME_DIR=/run/user/1000 systemctl --user status openclaw-gateway.service'
Wrong (will break on reboot):
ExecStart=/root/.hermes/node/bin/node .../openclaw/dist/index.js gateway
Environment=HOME=/root
EnvironmentFile=-/root/.config/faftech/openclaw-model.env
Correct (survives reboot):
ExecStart=/home/fikri/.hermes/node/bin/node .../openclaw/dist/index.js gateway
Environment=HOME=/home/fikri
EnvironmentFile=-/home/fikri/.config/faftech/openclaw-model.env
# Simulate reboot conditions (no active user session):
sudo -u fikri bash -c 'XDG_RUNTIME_DIR=/run/user/1000 systemctl --user is-active openclaw-gateway.service'
# Should return: active
# Or check the actual log after a real reboot:
cat /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log | grep 'gateway.*ready'
channels status --probe can show channel healthy while replies still fail due to missing LLM auth.message send) from generation validation (agent run + logs)./root paths in a non-root user service will silently fail on reboot.