一键导入
add-discord
Add Discord as a channel. Use when the user says "add discord", "connect discord", "set up discord bot", or "discord channel".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add Discord as a channel. Use when the user says "add discord", "connect discord", "set up discord bot", or "discord channel".
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage scheduled tasks for Talon personas. Use when the user says "add schedule", "create schedule", "list schedules", "remove schedule", "scheduled task", or "cron job".
Create a Talon persona/profile interactively from a natural-language description. Use when the user says "create a profile", "add a persona", "new background agent", "create a persona", "add a profile", or "background agent profile".
Use when setting up Talon from the starter bundle (docker-based install) for the first time, adding channels or personas, changing the AI provider, or troubleshooting. Triggers on phrases like "set up talon", "configure talon", "add channel", "switch provider", "talonctl …".
Use when setting up Talon for the first time, adding channels or personas to an existing config, or running validation. Also use when the user says "configure talon", "add a channel", "add a persona", "add provider", "set up the daemon", "add schedule", or "configure providers".
Add email (IMAP/SMTP) as a channel. Use when the user says "add email", "connect email", "set up email", or "email channel".
Add Slack as a channel. Use when the user says "add slack", "connect slack", "set up slack bot", or "slack channel".
| name | add-discord |
| description | Add Discord as a channel. Use when the user says "add discord", "connect discord", "set up discord bot", or "discord channel". |
| triggers | ["add discord","connect discord","discord channel","discord bot"] |
Walk the user through adding a Discord bot channel to Talon. One question at a time.
Check if a discord channel already exists:
npx talonctl list-channels
Ask: "Do you already have a Discord bot token and application ID?"
If no, walk them through it:
Create the Application
- Go to discord.com/developers/applications
- Click New Application, give it a name (e.g. "Talon")
- Copy the Application ID from the General Information page
Create the Bot
- Go to Bot in the left sidebar
- Click Add Bot (or it may already exist)
- Click Reset Token and copy the bot token
- Under Privileged Gateway Intents, enable:
- Message Content Intent (required to read message text)
- Server Members Intent (optional, for user info)
Invite the Bot to Your Server
- Go to OAuth2 > URL Generator
- Select scopes:
bot,applications.commands- Select bot permissions:
- Send Messages
- Read Message History
- View Channels
- Copy the generated URL and open it in your browser
- Select your server and authorize
Wait for the user to provide the bot token and application ID.
Ask for a channel name (suggest my-discord), then:
npx talonctl add-channel --name <name> --type discord
Then edit talond.yaml to set the config section:
config:
botToken: ${DISCORD_BOT_TOKEN}
applicationId: "1234567890"
Tell the user to add to .env:
DISCORD_BOT_TOKEN=your-bot-token
Ask: "Do you want to restrict the bot to specific servers or channels?"
If yes, get the IDs:
How to get Discord IDs:
- In Discord, go to Settings > Advanced > enable Developer Mode
- Right-click a server name > Copy Server ID (this is the guild ID)
- Right-click a channel > Copy Channel ID
Then edit the config:
config:
botToken: ${DISCORD_BOT_TOKEN}
applicationId: "1234567890"
guildId: "9876543210"
allowedChannelIds:
- "111111111"
- "222222222"
npx talonctl list-personas
Ask which persona to bind, then:
npx talonctl bind --persona <name> --channel <channel-name>
npx talonctl env-check
npx talonctl doctor
Tell the user:
- Make sure talond is running (or restart it)
- Send a message in a channel where the bot is present, or DM the bot
- You should get a response within a few seconds
If it doesn't work:
journalctl --user -u talond -f
| Problem | Fix |
|---|---|
| Bot not responding | Check DISCORD_BOT_TOKEN in .env, restart talond |
| Bot is online but ignores messages | Enable Message Content Intent in developer portal |
| "Missing Access" errors | Bot lacks channel permissions — check invite URL scopes |
| Bot responds in wrong channels | Add guildId or allowedChannelIds to config |
| Rate limit warnings in logs | Normal for busy servers — Talon handles retries automatically (up to 3) |
channels:
- name: my-discord
type: discord
config:
botToken: ${DISCORD_BOT_TOKEN} # Required
applicationId: "1234567890" # Required
guildId: "9876543210" # Optional — restrict to one server
allowedChannelIds: # Optional — restrict to specific channels
- "111111111"
intents: 33280 # Optional (default: GUILD_MESSAGES | MESSAGE_CONTENT)