woltspace-setup-telegram
Connect a Telegram bot to your wolt — just add config, bot code is built in.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Connect a Telegram bot to your wolt — just add config, bot code is built in.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
IWCL — Inter-Wolt Communication. Message another wolt and reply to messages from wolts. Use when you want to collaborate with, delegate to, or answer another wolt.
Work with apps — the isolated workspace for building apps, scripts, and experiments. Use when creating, running, or managing an app.
Configure Cloudflare Tunnel and Access for woltspace — initial setup, add or remove user permissions, and wildcard app subdomains.
Set up a new app from scratch. Use when starting a fresh app — scaffolds the directory, writes woltspace.json, starts the dev server.
First session for a brand new wolt. Say hi, show the site, ask what to build.
Push content to the split view's right pane. Use when you want to show HTML, pages, or artifacts to the user.
| name | woltspace-setup-telegram |
| description | Connect a Telegram bot to your wolt — just add config, bot code is built in. |
| user_invocable | true |
Guide the human through connecting a Telegram bot to their wolt. Step by step, one at a time.
The bot code is baked into the woltspace platform — no code to write. Just config.
This skill is idempotent — safe to run again. If things are already configured, validate and skip.
The Telegram bot is a dog — it needs its own wolt identity. Check if one exists:
python3 -c "
import sys; sys.path.insert(0, '/workspace/woltspace/container/lib')
from wolts import get_active_creature, find_by_type
dog = get_active_creature('dog')
print(f'active dog: {dog}' if dog else 'no active dog')
for d in find_by_type('dog'): print(f' found: {d[\"name\"]} at {d[\"dir\"]}')
"
If no dog-wolt exists: Ask the human to name their dog. This is the personality behind the Telegram bot — it should feel like naming a companion, not configuring software.
Your Telegram bot needs a name — not the @username (that's for Telegram), but a real name. This is who greets you, routes your tasks, keeps watch. What should they be called?
Once they give a name, create the dog-wolt:
create-creature-wolt <name> dog --role "Lodge companion" --description "Guards the Telegram gate, routes tasks, keeps watch"
Then write a proper identity file at /workspace/wolts/<name>/wolt/memory/identity.md:
If a dog-wolt already exists: Skip this step. Say something like "your dog is already set up."
Check if TELEGRAM_BOT_TOKEN is already set in .env. If so, confirm it's still valid and skip to the next step.
If not, tell the human:
Open Telegram and message @BotFather. Send
/newbot, pick a name and username. BotFather will give you a token — paste it here.
Wait for the token. It looks like 1234567890:ABCdef.... Once received, add to .env:
TELEGRAM_BOT_TOKEN=<token>
ENABLE_TELEGRAM_BOT=true
Check if TELEGRAM_ALLOWED_USERS is already set in .env. If so, skip.
If not, tell the human:
Message @userinfobot on Telegram — it'll reply with your numeric user ID. Paste it here.
Once received, add to .env:
TELEGRAM_ALLOWED_USERS=<user_id>
Multiple users: comma-separated. Leave empty to allow anyone (not recommended).
The bot uses a small fast model for conversation. Any provider works via litellm.
Tell the human:
Pick an LLM provider and paste your API key:
- Anthropic →
ANTHROPIC_API_KEY(model:anthropic/claude-haiku-4-5-20251001)- OpenAI →
OPENAI_API_KEY(model:openai/gpt-4o-mini)- OpenRouter →
OPENROUTER_API_KEY(model:openrouter/anthropic/claude-haiku-4.5)- Google →
GEMINI_API_KEY(model:gemini/gemini-2.0-flash)
Add to .env:
LLM_MODEL=<provider/model>
<PROVIDER_API_KEY>=<key>
woltspace restart
The entrypoint sees ENABLE_TELEGRAM_BOT=true, starts the bot automatically.
Tell the human to message their bot on Telegram. It should respond.
Then try a task — ask the bot to build or search something. It should spawn a Claude Code session and send back a clickable link to the TUI.
The bot code lives at /workspace/woltspace/container/bot/ in the container (platform default). To customize:
cp -r /workspace/woltspace/container/bot wolt/botpyproject.toml with deps at wolt/bot/pyproject.tomlwolt/bot/ over /workspace/woltspace/container/bot/The bot is yours to modify. The platform default is just a starting point.
Once running, the bot supports:
/start — hello/sessions — list active Claude Code sessions with TUI links/kill <name> — clean up a stale session