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