我使用Discord.js,到目前为止,这是我的代码。
if (message.content === '..react') {
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
message.react('?')
const embed = new RichEmbed()
.setDescription('I just reacted with diffrent emojies! React to your favorite!')
.setColor(0x1ED5E7)
message.channel.send(embed);
}
});
我希望它对可用的表情符号做出反应,而不会超过11个反应。帮助将不胜感激。
答案 0 :(得分:0)
如果您想反应随机表情符号,则可以获取所有客户端emoji.id,将其随机播放,然后切片并在数组映射中反应。我不知道在Discord中获取标准unicode表情符号列表的方法,因此也许您需要将所有非混合表情符号数组都设置为大,然后将其与emojilist数组连接。
与11个随机可用的客户端表情符号进行反应,您可以像这样
if (message.content === '..react') {
let emojiList = bot.emojis.map(emoji => emoji.id)
let randTenEmojies = shuffle(emojiList).splice(0,11)
randTenEmojies.map(emoji => message.react(emoji))
const embed = new RichEmbed()
.setDescription('I just reacted with diffrent emojies! React to your favorite!')
.setColor(0x1ED5E7)
message.channel.send(embed);
}
});
const shuffle = (arr) => {
var j, temp;
for(var i = arr.length - 1; i > 0; i--){
j = Math.floor(Math.random()*(i + 1));
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
return arr;
}