Back to Daily Stock Analysis

Discord机器人配置

docs/bot/discord-bot-config.md

3.15.04.1 KB
Original Source

Discord机器人配置

Discord机器人

Discord机器人接收消息需要使用Discord Developer Portal创建机器人应用 https://discord.com/developers/applications

Discord机器人支持两种消息发送方式:

  1. Webhook模式:配置简单,权限低,适合只需要发送消息的场景
  2. Bot API模式:权限高,支持接收命令,需要配置Bot Token和频道ID

创建Discord机器人

1. 登录Discord Developer Portal

访问 https://discord.com/developers/applications 并使用你的Discord账号登录

2. 创建应用

点击"New Application"按钮,输入应用名称(例如:A股智能分析机器人),然后点击"Create"

3. 配置机器人

在左侧导航栏中点击"Bot",然后点击"Add Bot"按钮,确认添加

4. 获取Bot Token

在Bot页面,点击"Reset Token"按钮,然后复制生成的Token(这是你的DISCORD_BOT_TOKEN

5. 配置权限

在Bot页面的"Privileged Gateway Intents"部分,开启以下选项:

  • Presence Intent
  • Server Members Intent
  • Message Content Intent

6. 添加到服务器

  1. 在左侧导航栏中点击"OAuth2" > "URL Generator"
  2. 在"Scopes"中选择:
    • bot
    • applications.commands
  3. 在"Bot Permissions"中选择:
    • Send Messages
    • Embed Links
    • Attach Files
    • Read Message History
    • Use Slash Commands
  4. 复制生成的URL,在浏览器中打开,选择要添加机器人的服务器

7. 获取频道ID

  1. 在Discord客户端中,开启开发者模式:设置 > 高级 > 开发者模式
  2. 右键点击你想要机器人发送消息的频道,选择"Copy ID"(这是你的DISCORD_MAIN_CHANNEL_ID

配置环境变量

将以下配置添加到你的.env文件中:

env
# Discord 机器人配置
DISCORD_BOT_TOKEN=your-discord-bot-token
DISCORD_MAIN_CHANNEL_ID=your-channel-id
DISCORD_WEBHOOK_URL=your-webhook-url (可选)
DISCORD_INTERACTIONS_PUBLIC_KEY=your-public-key (仅接收入站 Interaction/Webhook 回调时需要)
DISCORD_BOT_STATUS=A股智能分析 | /help

如果你配置了 Discord Interaction / Webhook 入站回调,务必在 Discord Developer Portal 的 General Information -> Public Key 复制公钥并填入 DISCORD_INTERACTIONS_PUBLIC_KEY;系统会使用该公钥校验每个入站请求的 Ed25519 签名,验签失败会直接拒绝请求。

Webhook模式配置(可选)

如果你只想使用Webhook模式发送消息,不需要Bot Token,可以按照以下步骤配置:

  1. 右键点击频道,选择"编辑频道"
  2. 点击"集成" > "Webhooks" > "新建Webhook"
  3. 配置Webhook名称和头像
  4. 复制Webhook URL(这是你的DISCORD_WEBHOOK_URL

支持的命令

Discord机器人支持以下Slash命令:

  1. /analyze <stock_code> [full_report] - 分析指定股票代码

    • stock_code: 股票代码,如 600519
    • full_report: 可选,是否生成完整报告(包含大盘)
  2. /market_review - 获取大盘复盘报告

  3. /help - 查看帮助信息

测试机器人

  1. 确保机器人已成功添加到你的服务器
  2. 在频道中输入/help,机器人会返回帮助信息
  3. 输入/analyze 600519测试股票分析功能
  4. 输入/market_review测试大盘复盘功能

注意事项

  1. 确保你的机器人有足够的权限在频道中发送消息和使用Slash命令
  2. 定期更新你的Bot Token,确保安全性
  3. 不要将你的Bot Token分享给任何人
  4. 如果机器人没有响应,检查:
    • Bot Token是否正确
    • 频道ID是否正确
    • 机器人是否在线
    • 机器人是否有消息发送权限

故障排除

  • 机器人不响应命令:检查Bot Token和频道ID是否正确,确保机器人已添加到服务器
  • Slash命令不显示:等待一段时间(Discord需要同步命令),或重新添加机器人
  • 消息发送失败:检查频道权限,确保机器人有发送消息的权限

相关链接