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

不一致js bot由创建者PM手动回复。可能吗?

袁安志
2023-03-14

现在,我的机器人日志PM通过PM发送给我。然后我在cmd上写下答案。(代码1)

所以,问题是,有可能让我的discord.jsbot在记录了我的PM上的消息后,用我在PM上发送给我的bot的消息回复原始用户?这就是我所尝试的(代码2)

会是这样的:

机器人的随机用户:你是谁,为什么和我说话?

机器人对我:[随机用户]你是谁,为什么和我说话?

我对机器人说:我是服务器X的机器人,我和你说话是因为你

机器人对随机用户:我是一个来自服务器X的机器人,我跟你说话是因为

我希望你得到它:(

如果知道如何让我的机器人等待我的回答也会很酷。因为我的很多次都是两个用户与机器人对话,所以当我回复第一条消息时,它会向第一个用户发送相同的消息,但只发送了两次。对不起,你问了些奇怪的,也许是愚蠢的事情。

代码1

console.log(`[${message.author.username}] ${message.content}`);

const rl = readline.createInterface({
   input: process.stdin,
   output: process.stdout
});


rl.question(`Answer to ${message.author.username}: `, (answer) => {
   message.author.send(`${answer}`)
     .then(function (data) {
        //console.log(data);
     })
     .catch(function (error) {
        //console.error(data);
     });

  rl.close();
});

代码2

if (message.author.id !== autorUser.id) {
      var prevUser = message.author;
      autorUser.send(`${message.author.username} a [${botUser.username}]: ${message.content}`)
        .then(message => {
          const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, { max: 1 });
          console.log(collector)
          collector.on('collect', message => {
            if (message.author.id === autorUser.id) {
              prevUser.send(`${message.content}`);
            }
          });
        }
        )
        .catch()
    }

共有1个答案

云慈
2023-03-14

记录RandomUser的ID,并创建一个特殊的命令(或其他任何命令)进行回复。

例如:

机器人的随机用户:你是谁,为什么和我说话?

机器人对我:[随机用户ID]你是谁,为什么和我说话?

把我交给机器人:(例如)!回复ID我是来自服务器X的机器人,我和你说话是因为

机器人对随机用户:我是一个来自服务器X的机器人,我跟你说话是因为

获取用户ID并向他们发送消息。

如果您正在使用DiscordJS的v12:

client.users.fetch("ID").then(user => user.send("some message"));

client.users.cache.find(user => user.id === "ID").send("some message");

如果使用旧版本的DiscordJS:

client.users.find(user => user.id === "ID").send("some message");
 类似资料:
  • 我正在尝试创建一个不和谐的机器人。js。它显示没有错误,可以联机并完美运行。但是,当我尝试运行命令时,bot不会说任何话,甚至不会发出错误消息。我的代码在这里:

  • GCC和Clang接受此代码,并且能够在这两种情况下使用复制省略。 在中,MSVC抱怨无法返回,因为删除了的move构造函数。但是,我希望它能够依靠复制构造函数。这是MSVC中的一个bug,还是这个想要的行为(我不明白)和GCC/Clang太允许了? 如果我提供了一个move构造函数,MSVC就可以在编译为release时省略move。

  • 本文向大家介绍playframework 手动创建JSON,包括了playframework 手动创建JSON的使用技巧和注意事项,需要的朋友参考一下 示例 您可以JsValue手动构建JSON对象树(a ) 或使用较短的等效语法,基于一些隐式转换: 要获取JSON字符串:            

  • 最近,不和谐增加了新功能,当用户回复消息时,它会引用它,并添加一行回复者的个人资料图片与原始发件人的个人资料图片和消息,如图所示(我回复来自机器人的消息): 有可能不和谐地做这件事吗。js? 目前,我使用,但是机器人只是发送一条消息,而不是实际回复(发送“回复类型”消息),这是我通过应用程序的GUI手动回复消息时显示的(如上所示)。

  • 问题内容: 当我们使用数组从数组创建列表时,该列表是不可变的。我只是想知道为什么当(或)的基本目的是具有动态大小并能够随意添加和删除元素时,为什么要创建一个不可变列表。当我们需要固定大小的数据结构时,我们选择数组;当我们需要动态数据结构时,我们选择或或等等。那么拥有不可变列表的目的是什么?我在做作业时遇到了这个问题。 问题答案: 当我们使用java.util.Arrays.asList()从数组创

  • 我的问题是:为什么我不能自动连接我的地图与接口,而我可以与实现? 多谢了。