使用命令时如何使不和谐机器人更改脚本?

Posted

技术标签:

【中文标题】使用命令时如何使不和谐机器人更改脚本?【英文标题】:How to make discord bot to change script when command is used? 【发布时间】:2020-03-05 19:24:17 【问题描述】:

问题是,我已经设置了一个带有命令和响应的不和谐机器人。我想这样做,例如,当我在我的不和谐频道中使用“!changeport 2222”时,它会更改里面的实际代码,应该将其更改为 var port = 2222;。如果我使用“!changeport 80”,则应将其更改为 var port = 80;内部脚本。

我尝试了几种方法,但没有运气。我也不是专业的程序员

var port = 80;
var portscanner = require('portscanner')
var used = false;

//command that is used in discord channel to change the port
client.on("message", (message) => 
var port = message.content.split(" ")[1]
var cooldowntext = ("You need to wait before using that command!")  
  if (message.content.startsWith("!port"))  
     if(used) message.channel.send(cooldowntext);
     else
    portscanner.checkPortStatus(port, '127.0.0.1', function(error, status) 
      // Status is 'open' if currently in use or 'closed' if available
      message.channel.send("Port changed to ");
      console.log(status)
      update()
      used = true;
      setTimeout(() => 
          used = false;
      , 1000 * 10);

    )
     


  

);
//command that is used in discord channel to change the port /end/





它没有按照我尝试的方式工作。

【问题讨论】:

【参考方案1】:

您需要更改第一个 var 的值:

var port = 80;
var portscanner = require('portscanner')
var used = false;

//command that is used in discord channel to change the port
client.on("message", (message) => 
var newPort = message.content.split(" ")[1]
var cooldowntext = ("You need to wait before using that command!")  
  if (message.content.startsWith("!port"))  
     if(used) message.channel.send(cooldowntext);
     else
    port = newPort;
    portscanner.checkPortStatus(port, '127.0.0.1', function(error, status) 
      // Status is 'open' if currently in use or 'closed' if available
      message.channel.send("Port changed to ");
      console.log(status)
      update()
      used = true;
      setTimeout(() => 
          used = false;
      , 1000 * 10);

    )
     


  

);
//command that is used in discord channel to change the port /end/




我用newPort 替换了您的第二个port var,并在运行命令时将第一个port 值更改为newPort 值。

【讨论】:

以上是关于使用命令时如何使不和谐机器人更改脚本?的主要内容,如果未能解决你的问题,请参考以下文章

使不和谐机器人发送消息特定通道

如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)

如何使不和谐机器人自动发送消息?

如何使不和谐机器人随机跳过响应

如何使不和谐机器人将消息发送到不和谐 Node js 的特定频道机器人

我需要帮助使不和谐卷曲