如何在discord.js中获取论坛帖子名称及监听新帖子事件?
关于Discord论坛频道机器人的内容审核扩展方案
一、监听新论坛帖子
Discord.js中没有专门的newPost事件,但论坛帖子本质是绑定论坛频道的线程,可以通过threadCreate事件监听,再过滤父频道类型来识别论坛帖子:
client.on('threadCreate', async (thread) => { // 15是Discord论坛频道的类型标识 if (thread.parent.type === 15) { // 此处处理新创建的论坛帖子 console.log('新论坛帖子:', thread.name); } });
二、获取论坛帖子的名称/对象
论坛帖子本身就是线程对象,直接通过线程属性即可获取信息:
- 获取帖子名称:
thread.name - 获取完整帖子对象:事件返回的
thread参数就是完整的帖子对象,可访问作者、创建时间等属性,示例:
// 获取帖子作者 const author = thread.ownerId ? await client.users.fetch(thread.ownerId) : null; // 获取帖子的初始正文消息 const starterMessage = await thread.fetchStarterMessage();
如果需要主动批量获取某论坛频道的帖子,可通过频道对象的方法实现:
const forumChannel = client.channels.cache.get('目标论坛频道ID'); // 获取频道内的活跃帖子 const activeThreads = await forumChannel.fetchActiveThreads(); activeThreads.threads.forEach(thread => { console.log('帖子名称:', thread.name); });
内容的提问来源于stack exchange,提问作者user18272152
相关产品推荐
相关产品推荐

