You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js实现指定评论表情反应轰炸功能的实现方法问询

评论批量表情反应功能实现思路

前置说明

该功能的核心逻辑在绝大多数带机器人生态的内容平台(Discord、QQ频道、各类论坛等)都是通用的,只需要替换成对应平台的官方SDK接口即可直接复用逻辑。

核心实现步骤

  • 指令解析:先定义好指令前缀,比如!react,用户输入!react [频道ID] [评论ID] [可选自定义表情]时,自动拆分提取参数,先校验参数数量是否符合要求,参数不足直接返回提示。
  • 资源有效性校验:用提取到的频道ID拉取对应频道实例,再在目标频道中用评论ID拉取到需要加反应的评论实例,两个实例都存在才执行后续操作,否则返回无效参数提示。
  • 表情反应执行:调用对应平台的消息表情添加接口,单表情直接单次调用即可,如果是批量轰炸可以遍历预设的表情列表依次调用,注意加间隔延时避免触发平台限流规则。

可参考代码示例(以Discord.js v14为例)

// 自定义指令前缀
const PREFIX = '!'
// 批量轰炸用的预设表情列表,可自行修改
const BOMB_EMOJIS = ['😀','🤣','😍','😎','🤯','👀','👍','🎉','🔥','💯']

client.on('messageCreate', async message => {
  // 过滤机器人自身发送的消息
  if (message.author.bot) return
  // 匹配指令
  if (message.content.startsWith(`${PREFIX}react`)) {
    const args = message.content.split(' ').slice(1)
    // 参数校验
    if (args.length < 2) {
      return message.reply('need to specify channelID and commentID')
    }
    const [channelId, commentId, customEmoji] = args
    try {
      // 查找目标频道
      const targetChannel = await client.channels.fetch(channelId)
      if (!targetChannel) return message.reply('无效的频道ID')
      // 查找目标评论
      const targetComment = await targetChannel.messages.fetch(commentId)
      if (!targetComment) return message.reply('无效的评论ID')
      
      // 执行表情添加
      if (customEmoji) {
        // 自定义单表情添加
        await targetComment.react(customEmoji)
      } else {
        // 批量表情轰炸
        for (const emoji of BOMB_EMOJIS) {
          await targetComment.react(emoji)
          // 200ms延时防止触发平台限流
          await new Promise(resolve => setTimeout(resolve, 200))
        }
      }
      await message.reply('表情添加操作完成')
    } catch (err) {
      await message.reply(`操作失败:${err.message}`)
    }
  }
})

注意事项

  • 提前确认机器人拥有对应频道的「添加消息反应」权限,否则接口会返回无权限报错。
  • 不同平台的API限流规则不同,可以根据平台要求调整批量调用的延时时间,避免机器人被临时限制调用甚至封禁。
  • 如果要使用平台自定义表情,需要提前将表情上传到对应服务器,或者填入对应平台的自定义表情编码。

内容的提问来源于stack exchange,提问作者FuZz3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:15:03