Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 定义特定频道的键入开始时出现问题_Javascript_Node.js_Discord_Discord.js_Bots - Fatal编程技术网

Javascript 定义特定频道的键入开始时出现问题

Javascript 定义特定频道的键入开始时出现问题,javascript,node.js,discord,discord.js,bots,Javascript,Node.js,Discord,Discord.js,Bots,我正在尝试让我的discord bot仅在用户开始在定义的频道而不是其他文本频道中键入时发送此消息。我没有收到任何错误,机器人只是不发送消息。我做错了什么?typingStart是否可以定义为特定频道 const Join2_channel = "972135774921247676" bot.on("typingStart", (message , channel) => { if (channel.id === Join2_channe

我正在尝试让我的discord bot仅在用户开始在定义的频道而不是其他文本频道中键入时发送此消息。我没有收到任何错误,机器人只是不发送消息。我做错了什么?
typingStart
是否可以定义为特定频道

const Join2_channel =  "972135774921247676"

bot.on("typingStart", (message , channel) => {
   if (channel.id === Join2_channel) {
      message.send('Type !join');
   }
});
事件具有两个参数
channel
(用户开始键入的频道)和
user
(开始键入的频道),按此顺序排列

在当前代码中,您正在检查
user.id
是否为
9721357747921247676
,因为这是一个频道的雪花,它将不匹配。您需要更新回调函数:

bot.on(“键入开始”(频道,用户)=>{
if(channel.id==Join2\u channel){
channel.send('Type!join');
}
});

当然可以!我应该在哪里设置一个超时功能,在发送消息后暂停bot,这样他就不会每隔7秒发送一次垃圾邮件?你的意思是这样来延迟消息吗
if(channel.id==Join2_channel){setTimeout(()=>channel.send('Type!join'),7000);}
。或者您可能想要使用?谢谢您的回复!是的,debounce听起来正是我想要的。我将如何将它应用到我正在尝试做的事情中。再次感谢!