【问题标题】:Creating Message --> Bot Reaction创建消息 --> 机器人反应
【发布时间】:2020-09-28 18:49:18
【问题描述】:

我喜欢编写一个程序,它将每 2 分钟使用我的用户 ID 将消息/机器人命令(“!work”)发送到不和谐频道。 它有效,但机器人没有响应/响应该消息。

代码:

bot.on("message", msg => {

    function work() {
        let guild = bot.guilds.get('695350286516092968'), channel;
        channel = guild.channels.get('719889410149318696').send("!work");
        console.log(new Date() + " " + msg);

    }

    if (msg.content.startsWith(prefix + "_money")) {
        console.log(new Date() + " " + msg);
        setInterval(work, 120000);
    };
}
);

const prefix = "$Bot";

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:
    function work() {
        let guild = bot.guilds.get('695350286516092968'), channel;
        channel = guild.channels.get('719889410149318696').send("!work");
        message.react("?")
        console.log(new Date() + " " + msg);
    }
    

    【讨论】:

      【解决方案2】:

      您需要通过添加 if 语句来处理该消息

      if(msg.content === "!work") {
        //logic
        msg.channel.send("Hey");
      }
      

      虽然您当前的代码有一些未来的错误,一个:您可能设置了多个间隔,解决此问题的方法是设置一个间隔变量,这样您也可以清除如果您愿意,可以稍后间隔

      const prefix = "$Bot";
      let interval;
      
      function work() {
              const channel = bot.channels.get('719889410149318696');
              channel.send("!work");
              console.log(new Date() + " " + msg);
      }
      
      bot.on("message", msg => {
          if (msg.content.startsWith(prefix + "_money")) {
              if(interval) return;
              console.log(new Date() + " " + msg);
              interval = setInterval(work, 120000);
          };
      });
      
      
      

      【讨论】:

      • 第二个机器人,对我的 SelfBot 消息没有反应,不是我自己的机器人,所以我不能更改代码。在我像你说的那样更改了我的代码之后,它仍然无法正常工作。 Bot 会回复 Selfbot 消息吗?
      • 大多数机器人被编码为不响应机器人。您可以对其进行编码,但他们选择不这样做。没有办法解决。
      猜你喜欢
      • 2020-01-22
      • 2020-07-28
      • 2020-08-02
      • 2023-03-14
      • 2020-08-12
      • 2020-02-23
      • 1970-01-01
      • 2020-03-13
      • 2020-09-24
      相关资源
      最近更新 更多