我如何根据您的角色超时响应?

Posted

技术标签:

【中文标题】我如何根据您的角色超时响应?【英文标题】:How can i timeout a response depending on your role? 【发布时间】:2020-11-07 18:01:37 【问题描述】:

根据您的角色,我希望我的机器人等待一段时间才能回答,但它不起作用,我不知道该怎么做,有人可以帮我吗?

//cd test
client.on("message", (msg) => 
    if(msg.content.toLowerCase().startsWith(`$PREFIXrpg hunts`)) 
        let user = msg.mentions.roles.first();
let time;
switch (role) 
  case '733786365342253087': time = 60000; break;
  case '733786293435105422': time = 54000; break;
  case '733786784336445461': time = 48000; break;
  case '733786616769937439': time = 39000; break;

setTimeout(() => 
            msg.channel.send(`Your **RPG HUNT** is ready! <@$msg.author.id>`);
,time)
    
);
//cd test

【问题讨论】:

【参考方案1】:

var time;
switch ('4') 
  case '1': time = 1000; break;
  case '2': time = 2000; break;
  case '3': time = 3000; break;
  case '4': time = 5000; break;

console.log('time now', new Date().getTime());
setTimeout(() => 
console.log('posting at', new Date().getTime());
, time);

代码看起来不错。但可能的错误之一可能是 typeof 角色。 确保它是字符串。不是数字。

role should be '111111' 
should not be 111111

控制台日志并检查“角色”。确保您使用正确的变量。看起来角色根本没有声明。你用过 let 'user'

【讨论】:

以上是关于我如何根据您的角色超时响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NSURLConnection (NSMutableRequest) 超时

如何模拟超时响应

如何实现套接字超时?

UI不响应应用程序外部

如何在heroku中有超过30秒的响应超时

您如何使用托管在 AWS 上的 grafana 监控您的响应时间