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

【保姆级教程】从零部署宇树 Unitree 机器人 ROS 2 环境 (Go2/B2/H1) (Humble + 真实硬件)

摘要 本文为希望在ROS 2 (Humble) 环境下开发宇树 (Unitree) 机器人(支持 Go2, B2, H1)的开发者提供了一篇详尽的、从零开始的部署指南。我们将首先在 Ubuntu 22.04 上安装 ROS 2 Humble,然后重点讲解如何配置 unitree_ros2 功能包,实现 ROS 2 节点与机器人底层 DDS 系统的直接通信。本教程基于官方文档,并针对 Humble 环境进行了优化,可跳过 Foxy 版本复杂的 CycloneDDS 编译步骤。 核心环境: * 操作系统: Ubuntu 22.04 (Jammy) * ROS 2 版本: Humble

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座 在现代社交应用与办公协同工具的开发中,集成强大的机器人(Bot)交互能力是提升活跃度的关键。discord_interactions 库为 Flutter 开发者提供了一套完整的、遵循 Discord 官方协议的交互模型,涵盖了从 Slash Commands(斜杠命令)到 Webhook 签名验证的核心功能。本文将深入解析如何在 OpenHarmony(鸿蒙)环境下,结合鸿蒙的安全机制与网络特性,完美适配 discord_interactions 到你的鸿蒙应用中。 前言 随着鸿蒙系统(HarmonyOS)进入原生应用开发的新纪元,跨平台社交工具的适配需求日益增长。discord_interactions 作为一个纯

读懂 Angular 里的 @angular/platform-server 与 @angular/ssr:它们各自解决什么问题,为什么经常同时出现

读懂 Angular 里的 @angular/platform-server 与 @angular/ssr:它们各自解决什么问题,为什么经常同时出现

你在 package.json 里同时看到 @angular/platform-server 和 @angular/ssr,这几乎可以直接推断:这个 Angular 应用已经不满足于纯 CSR(Client Side Rendering,浏览器端渲染),而是在引入 SSR(Server Side Rendering,服务端渲染)或更细粒度的 Hybrid Rendering(混合渲染:按路由选择 CSR / SSR / SSG)。官方文档把这种方向称为 Server and hybrid rendering,并明确给出了 ng new --ssr 与 ng add @angular/ssr 作为启用入口。 (Angular) 下面我用一条严谨的推理链,把这两个依赖的职责边界拆开,

前端小白别慌:3分钟搞定页面插图(附避坑指南+性能彩蛋)

前端小白别慌:3分钟搞定页面插图(附避坑指南+性能彩蛋)

前端小白别慌:3分钟搞定页面插图(附避坑指南+性能彩蛋) * 前端小白别慌:3分钟搞定页面插图(附避坑指南+性能彩蛋) * 为啥前端连个图片都插不明白? * 浏览器加载一张图背后到底在偷偷干啥? * img 标签真就万能了吗? * 响应式图片怎么搞才不被设计师追着骂? * 懒加载、WebP、CDN——这些词听着高大上,其实你早就用过 * 图片加载失败时别让页面变"裂图坟场" * 别再一股脑扔高清大图了,用户流量不是大风刮来的 * 你以为写个 src 就完事了?SEO 和无障碍访问正在偷笑 * 开发时本地图片路径乱成一锅粥?模块化方案来救场 * Webpack/Vite 里图片到底该放哪?public 还是 assets? * 用 CSS 背景图还是 HTML img?这事儿得看场合 * 移动端图片模糊到像开了十级美颜?分辨率适配讲清楚 * 别让图片拖垮首屏速度,Lighthouse 分数掉得比工资还快 * 设计师给的图太大?教你几招无损压缩还不背锅