当前位置: 首页 > 知识库问答 >
问题:

不和谐机器人如何只回复某些用户?

谭敏学
2023-03-14

我正在寻找一种方法,使一个不和谐的机器人反应或答复,只有某些用户。它可以通过角色或ID选择用户,但我似乎无法让它工作。这就是我尝试过的:

if (message.author.id === 'myDiscordID') {
        message.reply('hello!').then(r => {
        });
    }

如果有帮助的话,我正在用Discord JS编写代码。这是整个索引。js文件:

const Discord = require('discord.js');
const { prefix, token } = require('./config.json');

const client = new Discord.Client();

client.once('ready', () => {
    console.log('Ready!');
});

client.on('message', message => {

    if (message.author.id === 'myDiscordID') {
        message.reply('hello!').then(r => {
        });
    }

});
client.login(token);

文件运行正常,机器人联机,然后打印“就绪!”然而,对于控制台来说,代码的其余部分似乎不起作用。

共有2个答案

巫马淳
2023-03-14

我对此也有问题。这是对我有效的解决方案。

const userID = "The_user's_id";

bot.on("message", function(message) {
    if(message.author.id === userID) {
        message.react('emoji name or id');
    }
});

注意:要查找用户的id,只需右键单击该用户并按“复制id”。

陶博赡
2023-03-14

我看起来这必须工作。

你确定bot在你的服务器,并有权限读取消息?试试这个就绪块

client.once('ready', () => {
    console.log('Ready!');
    const guildList = client.guilds.cache.map(guild => guild.name)
    console.join(`Bot go online in ${guildList.length}`)
    console.log(guildList.join('\n'))
}); 

和一些解决方案,以检查用户。id或角色包括:

控制台。日志(message.content)用于检查的是此事件触发器。

client.on('message', message => {
    console.log(message.content)
    if (message.author.id === '') {
        message.reply('author contain')
    }

    if (message.member.roles.cache.has('ROLE ID')) {
        message.reply('role contain')
    }

    if(message.member.roles.cache.some(role => ['ID1', 'ID2'].includes(role.id)) {
        message.reply('some role contain')
    }   

});
 类似资料:
  • 我是一个编程新手。几天前,我开始开发我的第一个discord机器人,你知道,让我和我的朋友一起玩。现在,让我们假设我想让这个机器人检测消息中的单词,并在每次有人提到该单词时回复,无论消息的哪个部分。我能做到,但现在有个问题。假设我要找的单词是“你好”。如果有人说“哦,你好”,“你好”,一条写着“你好”的消息,机器人会回复“你好”。但是机器人也会在自己的消息中检测到hello,并一遍又一遍地回复自己

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 问题内容: 我正在使用Python处理User Discord Bot。如果机器人所有者键入内容,则该机器人将DM所有者提到的用户。 问题答案: 最简单的方法是使用扩展程序。在这里,我们使用转换器来获取目标用户,并使用仅关键字参数作为可选消息来发送目标用户: 对于discord.py的较新的1.0+版本,应使用而不是

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码:

  • 我正在开发一个Discord机器人,但当我尝试向频道发送消息时,它不起作用。 我尝试使用代码

  • 我有错误,我检查了这个-discord bot-userinfo命令“IndentationError:unexpected indent”,但我不知道如何修复我的代码 此行出错- 这是我所有的功能