Javascript 不和谐重复机器人
我想做一个机器人,重复别人说的话,并立即删除他的原始信息。 我不想用前缀 例如,某些人键入一条随机消息:这是一条消息&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';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=>{
我不知道当你删除邮件并回复邮件时会发生什么,但你可以尝试这样做: 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