如何使用category ID记录discord.js指定分类下新建频道的名称与ID
discord.js 监控指定分类下新建频道实现方案
前置要求
- 使用v14及以上版本的discord.js
- 机器人开启
Guilds网关意图,该权限是接收频道相关事件的必要条件 - 机器人在目标服务器拥有
查看频道权限
核心实现逻辑
监听discord.js内置的channelCreate事件,每次事件触发时校验新创建频道的父分类ID是否与目标分类ID匹配,匹配后执行记录逻辑即可。
完整示例代码
const { Client, GatewayIntentBits } = require('discord.js'); // 初始化客户端,配置必要网关意图 const client = new Client({ intents: [ GatewayIntentBits.Guilds ] }); // 替换为你需要监控的分类的实际ID const TARGET_CATEGORY_ID = '替换为目标分类ID'; // 监听频道创建事件 client.on('channelCreate', (newChannel) => { // 校验所属分类是否为目标分类 if (newChannel.parentId === TARGET_CATEGORY_ID) { // 此处可替换为你自己的存储/上报逻辑 console.log(`新建频道匹配成功:名称:${newChannel.name},ID:${newChannel.id}`); } }); // 机器人登录 client.login('替换为你的机器人Token');
补充说明
- 如果你需要同时监控分类下新建的帖子子线程,可以额外监听
threadCreate事件,校验逻辑修改为判断newThread.parent.parentId === TARGET_CATEGORY_ID即可 - 如果需要对机器人启动前就已经存在于目标分类的频道做初始化统计,可以在
ready事件触发后遍历目标分类下的所有频道完成初始化记录 - 若事件未正常触发,请先检查机器人的权限配置和网关意图是否开启正确
内容的提问来源于stack exchange,提问作者Frostyyy
相关产品推荐
相关产品推荐

