openclaw: give recruiter-api plugin the Telegram bot token so it can announce

The recruiter-api plugin's announceEvent() sends recruiter cards to Telegram
via OPENLOBSTER_CHANNELS_TELEGRAM_TOKEN (its fallback path, since OpenClaw
doesn't pass api.bot to "kind: tools" plugins). That env was never set in the
container, so every hourly poll threw on the send, events were never marked
consumed, and no Telegram notification ever went out — the rest of the
"recruiter pipeline has no responses" problem (the GPU/triage half was fixed
separately). Wire it from openclaw-secrets.telegram_bot_token (same token as
channels.telegram.botToken). Verified: the 3 backlogged events were announced
+ consumed on the openclaw restart.

Drafting (the /api/draft 500 that also degraded the cards) was fixed in
parallel by swapping Vault secret/recruiter-responder gpt_mini_model from the
slow/timing-out qwen3-coder-480b to meta/llama-3.3-70b-instruct (~1.6s).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-02 22:03:55 +00:00
parent c85533d2d9
commit ff26d1c957

View file

@ -1253,6 +1253,22 @@ resource "kubernetes_deployment" "openclaw" {
}
}
}
# Bot token for the recruiter-api plugin's announceEvent() Telegram
# send. OpenClaw does not pass api.bot to "kind: tools" plugins, so
# the plugin's fallback hits the Telegram Bot API directly via this
# env (OPENLOBSTER_CHANNELS_TELEGRAM_TOKEN). Without it every poll
# tick throws and events are never consumed -> no notifications.
# Same token as channels.telegram.botToken in openclaw.json.
env {
name = "OPENLOBSTER_CHANNELS_TELEGRAM_TOKEN"
value_from {
secret_key_ref {
name = "openclaw-secrets"
key = "telegram_bot_token"
optional = true
}
}
}
# Python packages path for skills
env {
name = "PYTHONPATH"