Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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_Bots - Fatal编程技术网

Javascript 不和谐重复机器人

Javascript 不和谐重复机器人,javascript,node.js,discord,bots,Javascript,Node.js,Discord,Bots,我想做一个机器人,重复别人说的话,并立即删除他的原始信息。 我不想用前缀 例如,某些人键入一条随机消息:这是一条消息&bot回复:@user这是一条消息,然后原始消息被删除 我还希望它位于一个特定的通道中,因为如果没有,它将扰乱整个服务器。 我不知道如何制作这个机器人,所以我为模板制作了一个乒乓球机器人: const Discord=require'Discord.js'; const client=新的Discord.client; client.on'message',message=>{

我想做一个机器人,重复别人说的话,并立即删除他的原始信息。 我不想用前缀

例如,某些人键入一条随机消息:这是一条消息&bot回复:@user这是一条消息,然后原始消息被删除

我还希望它位于一个特定的通道中,因为如果没有,它将扰乱整个服务器。 我不知道如何制作这个机器人,所以我为模板制作了一个乒乓球机器人:

const Discord=require'Discord.js'; const client=新的Discord.client; client.on'message',message=>{ 如果message.content.startsWith“!ping”{ 留言。回复‘砰!’; } }; client.on'ready',=>{ 控制台。记录“我准备好了!”; }; client.login'token';
我不知道当你删除邮件并回复邮件时会发生什么,但你可以尝试这样做:

const Discord=require'Discord.js'; const client=新的Discord.client; //在这里设置您的香奈儿id! const channel=我的频道; client.on'message',message=>{ 如果client.user.id!==message.author.id&&message.channel.id==channel{ //回音回复 message.guild.channels.cache.getchannel.send`@${message.author.username}${message.content}`; //删除消息 message.delete; } }; client.on'ready',=>{ 控制台。记录“我准备好了!”; }; client.login'token'; 正如@Mootje所指出的:

如果使用discord.js v12,请使用:

message.guild.channels.cache.getchannel.send`@${message.author.username}${message.content}`

而不是


message.guild.channels.getchannel.send`@${message.author.username}${message.content}`

如果我正确理解了您的问题,您希望每次用户说话时,他的原始消息都需要删除,机器人应该发送一条包含原始消息内容的消息

const client=新的Discord.client; client.on'ready',=>{ 控制台。记录“我准备好了!”; }; client.on'message',message=>{ 如果message.content.startsWith“!ping”{ 留言。回复‘砰!’; } message.replymessage.content; message.delete }; client.login'token'; 如果您希望bot仅在一个特定通道中发送消息,则可以使用此选项

const client=新的Discord.client; client.on'ready',=>{ 控制台。记录“我准备好了!”; }; client.on'message',message=>{ 如果message.content.startsWith“!ping”{ 留言。回复‘砰!’; } 让channelID=您的特定频道id; message.guild.channels.getchannelID.sendmessage.content; message.delete }; 如果您使用的是Discord.js V12,则需要更改:

message.guild.channels.getchannelID.sendmessage.content; 到

message.guild.channels.cache.getchannelID.sendmessage.content; 更新 这是没有注释中要求的所有不必要代码的代码

const client=新的Discord.client; client.on'ready',=>{ 控制台。记录“我准备好了!”; }; client.on'message',message=>{ ifmessage.author.bot返回; /*bot用来发送消息的通道*/ 设sendChannelID=通道id; /*bot从中检查消息的通道*/ 让activeChannelID=通道id ifmessage.channel.id==activeChannelID{ message.delete message.guild.channels.cache.getsendChannelID.send:+message.content; } };
不幸的是,堆栈溢出不适合我们为您编写代码。如果你的代码有特殊问题,我们可以提供帮助。我不希望乒乓球出现在代码中,这只是这个机器人的一个例子。你可以删除这个命令,它在代码中不会有任何区别。你真的像我希望的那样描述了这个机器人,我将非常感谢,如果你能给我完整的代码为机器人没有不必要的事情。谢谢我在底部用你需要的代码编辑了原始答案@MentalixI看到它在工作,但它在滥发信息,没有提到用户我收到一个错误:TypeError:message.guild.channels.get不是function@Mentalix尝试使用message.guild.channels.cache.getchannel.send…,查看我的更新应答器。它正在工作,但这真的很奇怪。。它向它发送垃圾邮件,并提及机器人本身添加了一个检查消息是否来自机器人,请参阅更新的代码:if statementYayy it's working。。但由于某种原因,当它提到,用户是不可点击的,就像@user