如何解决DiscordJS:确定反应已被人移除
我有一个不和谐的机器人,当收到一定数量的反应时,它会阻止更多用户做出反应。这是执行此操作的事件监听器:
set.seed(7)
vals <- sample(c(1:20,NA,NA),20)
sample <- matrix(vals,ncol = 5)
# Select columns 1,3,4
cols <- c(1,4)
rowcnts <- apply(sample[,cols],1,function(x) length(x[!is.na(x)]))
sample <- cbind(sample,rowcnts)
> sample
rowcnts
[1,] 10 15 16 NA 12 2
[2,] 19 8 14 18 9 3
[3,] 7 17 6 4 1 3
[4,] 2 3 13 NA 5 2
但是,这稍后会触发我的bot.on("messageReactionAdd",(reaction,user) => {
if (
reaction.emoji.name === "?️♂️" &&
reaction.message.author.bot &&
user.id !== "773710233977618464"
) {
const spotsLeft = reaction.message.embeds[0].fields[1].value;
if (spotsLeft == 0) {
return reaction.users.remove(user.id);
}
...
}
事件,我不想触发该事件。我试图用以下方法将其过滤掉:
MessageReactionRemove
我已经尝试过!user.bot和其他一些东西,但是每次我从控制台上输入日志时,都可以看出响应消除是来自用户的。我bot.on("messageReactionRemove",user) => {
if (
reaction.emoji.name === "?️♂️" &&
reaction.message.author.bot &&
user.id !== "773710233977618464"
) {
...
,是删除了反应的人ID。
如何告诉DiscordJS“如果这是由Javascript或机器人触发的,则什么也不做”?
解决方法
此问题已通过启用部分“ USER”,“ GUILD_MEMBER”和“ REACTIONS”来解决。此处的其他内容:enter link description here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。