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

如何实现Discord机器人单个命令随机返回多个响应?

解决Discord机器人单命令随机返回多响应的问题

问题根源

你写的message.channel.send("Si", "No")存在参数使用错误:Discord.js的send方法只会处理第一个传入的字符串参数,后续参数会被直接忽略,所以机器人只会固定回复"Si"。

正确实现方案

把所有需要随机返回的响应存入数组,通过随机索引选取其中一项发送即可:

if(command === 'caracola'){
  // 定义所有可选回复
  const responses = ["Si", "No"];
  // 生成0到数组长度-1之间的随机整数索引
  const randomIndex = Math.floor(Math.random() * responses.length);
  // 发送随机选中的回复
  message.channel.send(responses[randomIndex]);
}

如果后续需要新增更多回复,直接往responses数组里添加元素就行,比如:

const responses = ["Si", "No", "Tal vez", "Quizás"];

这样每次触发caracola命令时,机器人都会随机返回数组中的某一项内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:52:07