Discord.js 不发送消息(无错误)
Posted
技术标签:
【中文标题】Discord.js 不发送消息(无错误)【英文标题】:Discord.js not sending messages (no errors) 【发布时间】:2020-02-26 04:06:24 【问题描述】:我刚刚开始使用 discord.js 为我的 discord 服务器创建一个机器人。我试图让机器人发送消息,但它就是不这样做。我什至没有得到任何错误。 这是一段不起作用的代码片段:
bot.on('voiceStateUpdate', (oldMember, newMember) =>
let newUserChannel = newMember.voiceChannel
let oldUserChannel = oldMember.voiceChannel
if(oldUserChannel === undefined && newUserChannel !== undefined)
// User Joins a voice channel
console.log("Join");
if(newMember = manu)
console.log("kyllä")
bot.on('message', msg =>
msg.channel.send("Manu, oletko käynyt parturissa? \n Kirjoita vastauksesi numero. \n 1. Olen \n 2. En");
)
bot.on('message', msg =>
if(msg.content === "2")
msg.channel.send("Ja parturin kautta takasin");
else if(msg.content === "1")
msg.channel.send("Hyvvö");
else
msg.channel.send("Puhu suomea");
)
else if(newUserChannel === undefined)
// User leaves a voice channel
console.log("Leave");
)
如果你能理解文本部分的语言,请注意这个机器人只是为了好玩:D。
我做错了什么?
【问题讨论】:
在有条件的情况下使用消息收集器比使用侦听器更好......我认为它不会起作用 我知道它来晚了,但不要使用 bot.on 来使用消息收集器 【参考方案1】:我认为问题在于:您将 bot.on 放在 bot.on 中。您可以做的是将第二个 bot.on 与消息放在另一个 bot.on 下方,它应该可以解决您的问题。
【讨论】:
【参考方案2】:你写了if(newMember = manu)
。您需要使用===
或==
来比较两个值。仅使用 =
为变量赋值。
【讨论】:
您现在有错误吗?还是比以前的其他行为? 我看不到任何变化。没有错误,也没有更早的错误。早些时候,我尝试为 if 语句制作控制台日志并且它有效。但由于某种原因,机器人不会发送不和谐的消息。 discord ID 是可变的,我已经检查过它是否有效。 像if(newMember === "YOURID")
一样使用假值测试
没有任何改变。代码应该检测某人何时加入语音频道(它确实如此),然后检查加入的用户是否是特定用户,如果是,它将在文本频道上询问一个问题,然后根据答案执行操作。我尝试将console.log("It works")
用于用户识别部分。它记录了它,所以它工作了。它只是不会将消息发送到不和谐。其他一切似乎都在工作。以上是关于Discord.js 不发送消息(无错误)的主要内容,如果未能解决你的问题,请参考以下文章