Discord中创建机器人的流程

主要步骤概览

  1. 在 Discord Developer Portal 创建应用(Application)
  2. 在应用中创建 Bot(Bot User)
  3. 开启必要的权限与 Privileged Intents(特别是 Message Content Intent)
  4. 生成邀请链接并把 Bot 邀请进你的服务器
  5. 获取 Bot Token 并妥善保存(放到环境变量)
  6. (可选)在服务器/频道设置权限,确认 Bot 可以读取消息历史与附件
  7. 用 Python 运行最小测试脚本,确认能接收到消息并处理附件

详细步骤

  1. 创建应用(Application)
  • 打开:https://discord.com/developers/applications
  • 点击 “New Application”,填名称(例如:MyForwarderBot),点击创建。
  1. 在应用中创建 Bot
  • 左侧选择 “Bot” 标签页。
  • 点击 “Add Bot” → “Yes, do it”。
  • 这会创建一个 Bot 用户;你可以修改头像、名字等。
  1. 开启 Privileged Gateway Intents(非常重要)
  • 在 Bot 页面往下找到 “Privileged Gateway Intents” 部分:
    • 打开 “Message Content Intent”(允许读取 message.content)。(你需要开启它才能通过 SDK/库读取普通消息文本)
    • 若你需要成员列表或 presence,也可按需打开 “Server Members Intent” 或 “Presence Intent”。
  • 注意:如果你的 Bot 要加入 100+ 服务器,启用某些特权 intents 可能需要经过 Discord 的审核/验证。
  1. 获取 Bot Token(千万别泄露)
  • 在 Bot 页面中,点击 “Reset Token” 或 “Copy” 获取 Bot 的 token(例如 “Bot XXXXXXXXX…”)。把它存到安全地方(本地 .env 或服务器环境变量)。
  • 如果 token 泄露,立即在同一页面重置(Regenerate)。
  1. 生成邀请链接并邀请 Bot 到你的服务器
  • 在左侧选 “OAuth2” → “URL Generator”。
    • Scopes: 勾选 “bot” (如需 slash commands 也勾 “applications.commands”)。
    • Bot Permissions: 在这里勾选所需权限(建议至少勾选):
      • View Channels (Read/View Channels)
      • Read Message History
      • Send Messages
      • Embed Links
      • Attach Files (如需上传)
      • Manage Messages(可选)
    • 页面底部会生成一个邀请链接(URL)。
  • 复制该 URL,在浏览器打开并选择要把 Bot 添加到的服务器(你必须拥有该服务器的管理权限或有邀请权限)。

说明:不要手动猜 permissions 的整数值 — 用 OAuth2 页面勾选更安全。也可用手动构造:
https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&scope=bot%20applications.commands&permissions=PERMISSIONS_INTEGER
但推荐用页面生成器以避免权限错误。

  1. 在目标服务器确认 Bot 权限
  • 在服务器的角色设置中,确认 Bot 的角色拥有“View Channels”与“Read Message History”权限;在频道覆盖权限中也要允许读取消息。
  • 若 Bot 无法读取 message.content,要检查是否已在开发者面板开启 Message Content Intent 并且你的代码在使用相应的 intents(见下例)。
  1. 获取频道 ID(如需按频道过滤)
  • 在 Discord 客户端设置 → 高级 → 打开 “开发者模式”。
  • 右键频道或消息 → 选择 “Copy ID” 得到 channel id(用于脚本过滤/配置)。
  1. 安全与生产建议
  • 切勿把 token 写入代码库。用环境变量或秘密管理工具(.env 文件在部署时放到服务器,且不要提交到 git)。
  • 如果 token 泄露,立即在开发者面板重置。
  • 在生产环境启用适当的日志、错误重试和速率限制处理(Discord API 和 企业微信 API 都有限流)。
  • 如果 Bot 要加入很多服务器(100+),注意 Discord 的验证/审核要求。

常见问题与解决

  • 读不到 message.content:确认你在开发者页面开启了 Message Content Intent,并在代码里把 intents.message_content = True。
  • 403 或权限错误:确认 Bot 在服务器的角色/频道中有“View Channel”和“Read Message History”的权限,以及你在 OAuth2 页面勾选了正确权限。
  • 邀请失败(没有权限):邀请者必须在目标服务器有“管理服务器”或相应权限。

Read more

Django框架丨从零开始的Django入门学习

Django 是一个用于构建 Web 应用程序的高级 Python Web 框架,Django是一个高度模块化的框架,使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务。 每个 Django App 的组织结构符合 Django 的 MTV 法则——Model(模型)+ Template(模板)+ View(视图),文章内容将从安装开始,对Django每一个模块的操作进行简单的讲解 1. 安装Django 想必大家肯定都安装好python了,如果没有的话网络上很多教程可以参考,安装好python后可以直接在命令行安装Django pip install django 安装完成后,你可以通过运行以下命令验证 Django 是否成功安装: python -m django --version 或通过import进行检查 2.

By Ne0inhk

Spring与OSGi集成深度解析:多层次整合技术要点

本文还有配套的精品资源,点击获取 简介:本文详细探讨了Spring框架与OSGi模块化系统的集成,深入解析了如何结合Spring的模块化设计和OSGi的核心特性来构建更灵活、可扩展的应用程序。内容涵盖OSGi的基础知识、Spring与OSGi的结合方式、SpringDM的工作机制、集成层次的策略,以及在实际应用中的案例分析,优势与挑战,和相关工具支持。旨在为开发者提供在OSGi环境中使用Spring进行高效开发的指导。 1. OSGi基础介绍 OSGi(Open Service Gateway Initiative)是一个基于Java语言的服务(模块)化规范。随着软件系统复杂性的增加,OSGi应运而生,旨在提供一种轻量级、高度模块化的系统架构。 1.1 OSGi核心概念 OSGi框架的核心在于其模块化的能力,它允许系统被分解成一系列的“Bundle”。每个Bundle都独立开发、部署,拥有自己的生命周期,包括安装、启动、停止、更新和卸载。这种模块化极大促进了软件组件的复用和维护。 1.2 OSGi的优势 OSGi的优势主要体现在以下几个方面: - 动态性 :OSG

By Ne0inhk
205-Spring AI Model Context Protocol 功能:Brave Search 功能完整案例

205-Spring AI Model Context Protocol 功能:Brave Search 功能完整案例

本案例演示如何创建一个 Spring AI Model Context Protocol (MCP) 客户端,该客户端与 Brave Search MCP 服务器通信。应用程序展示了如何构建一个 MCP 客户端,通过对话界面实现与 Brave Search 的自然语言交互,允许您通过对话界面执行互联网搜索。本示例使用 Spring Boot 自动配置通过配置文件设置 MCP 客户端。 运行时,应用程序通过询问特定问题来演示 MCP 客户端的功能:"Spring AI 是否支持 Model Context Protocol?请提供一些参考资料。"MCP 客户端使用 Brave Search 查找相关信息并返回全面答案。提供响应后,应用程序退出。 1. 案例目标 我们将创建一个展示以下功能的

By Ne0inhk
Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 http_retry 的适配 鸿蒙Harmony 深度进阶 - 驾驭分布式负载感知重试、实现鸿蒙端高可靠通讯与协议幂等性审计方案 前言 在前文中,我们探讨了 http_retry 在鸿蒙(OpenHarmony)生态中解决单一移动终端弱网重试的基础实战。但在真正的“分布式工业物联网集成”、“跨设备协同办公资产同步”以及“需要对接具备动态压力管控的超大规模云原生后端”场景中。简单的指数退避往往难以应对复杂的网络分位震荡。面对一个需要在鸿蒙手机、智能穿戴设备与边缘网关之间,根据当前全网的平均负载压力(Load Pressure)动态调节重试节奏,并且要求在执行涉及核心资产变更(如:支付订单、库存锁定)的重试时执行绝对严密的协议幂等性(Idempotency)校验的高阶需求。如果缺乏一套具备分布式感知的重试调度模型。不仅会导致后端服务在故障恢复瞬间遭遇“重试波峰”引发再次崩溃,更会因为对非幂等操作的盲目重试。引发严重的业务资产错乱。 我们需要

By Ne0inhk