需开启Discord Bot的Message Content Intent和Server Members Intent权限,部署dify-discord-starter并配置环境变量,修改messageCreate和guildMemberAdd事件逻辑实现关键词拦截与欢迎打标,通过Dify工作流或对话应用生成JSON指令,由Node.js服务调用Discord API执行踢人、禁言等操作。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify构建的AI能力自动响应Discord群内成员行为(如新成员加入、关键词发言、违规消息),并执行踢人、禁言、打标签、发欢迎消息等操作,而不是手动逐条处理。
准备Discord Bot权限与Intent配置
进入Discord开发者门户 → 选择你的应用 → 左侧“Bot”页面 → 滚动到底部找到“Privileged Gateway Intents”区域。
必须开启【Message Content Intent】,否则机器人无法读取普通用户发送的消息内容;不开启此项,后续所有基于文本触发的自动化规则都将失效。
勾选“SERVER MEMBERS INTENT”,这是监听成员加入、退出、角色变更等事件的必要权限。
点击“Save Changes”保存设置,此操作不可逆,关闭后再开启需重新提交Discord审核(通常需1–3个工作日)。
部署dify-discord-starter并注入群务逻辑
克隆官方仓库:git clone https://github.com/perzeuss/dify-discord-starter.git。
在项目根目录创建.env文件,填入以下三项必填变量:
DISCORD_BOT_TOKEN=你的机器人令牌DIFY_API_KEY=你在Dify中生成的API密钥DIFY_APP_ID=你在Dify中发布的工作流或智能体ID(非应用ID,是发布后URL末尾那一串)
修改src/events/messageCreate.ts,在消息处理主逻辑前插入关键词拦截块:检测message.content是否含“举报”“违规”“广告”等词,匹配则立即调用message.member?.timeout()并上报Dify日志接口。
在src/events/guildMemberAdd.ts中,使用member.send()发送个性化欢迎卡片,并调用member.roles.add(欢迎角色ID)自动打标签。
在Dify中构建可被调用的群务工作流
方法一:使用Dify「工作流(Workflow)」节点编排
新建工作流 → 拖入「HTTP请求」节点 → 设置URL为Discord REST API地址(如https://discord.com/api/v10/guilds/{guild_id}/members/{user_id}/roles/{role_id})→ 在Headers中填入Authorization: Bot {DISCORD_BOT_TOKEN} → Body选择JSON格式,写入{"role_id": "xxx"}。
方法二:复用已有知识库+提示词做轻量决策
创建对话型应用 → 在提示词中明确约束输出格式:“仅输出JSON,字段为action(ban/kick/mute)、target_id、reason” → 后端服务接收到该JSON后,直接调用Discord SDK执行对应动作。
注意:Dify本身不直接调用Discord API,所有操作必须由你部署的Node.js服务承接并转发,Dify只负责生成决策指令。
配置自动化触发链路
第一步:在Discord服务器设置中启用“社区功能”,否则无法使用审核日志和自动审核规则。
第二步:将机器人添加至目标频道,并赋予“管理消息”“踢出成员”“禁言成员”等具体权限——仅给“管理员”角色远远不够,必须在频道权限覆盖中单独勾选。
第三步:在src/index.ts中注册事件监听器:client.on('messageCreate', handleMessage)、client.on('guildMemberAdd', handleJoin)、client.on('messageDelete', handleDelete),确保三类事件全部接入。
第四步:启动服务:npm install && npm run start,观察控制台是否输出Logged in as XXX及Ready on X servers。


















