我正在为我在plug.dj上运行的房间制作自定义脚本,并且我已经为AFK,工作和睡眠实现了自动消息警报。因此,如果您将状态设置为AFK并且有人提及您,则会收到与AFK状态相关的自动消息。这是代码:
function autoRespond(data) {
var a = data.type == "mention" && Models.room.data.staff[data.fromID] && Models.room.data.staff[data.fromID] >= Models.user.BOUNCER, b = data.message.indexOf('@') >0;
if (data.type == "mention") {
if (Models.user.data.status == 1)
API.sendChat("@" + data.from + " automsg: I'm currently AFK");
if (Models.user.data.status ==2)
API.sendChat("@" + data.from + "automsg: I'm currently working");
if (Models.user.data.status ==3)
API.sendChat("@" + data.from + " automsg: I'm currently sleeping");
}
}
我想要做的是,如果有人在被设置为其中一种状态时被提及,我想在自动消息之前添加一个计时器,因为再次激活。说我已经设置为AFK,然后有人提到我,他们会收到一条自动回复消息,然后如果有人在定时器中提到我,则自动消息无法发送(没有延迟,然后在延迟后发送)。我希望我能得到正确的帮助,谢谢。
答案 0 :(得分:0)
您可以按如下方式使用setTimeout:
HTML:
<button id="button">message</button>
<div></div>
JavaScript:
$('#button').on('click', function(){
sendMessage();
});
var sended = false ;
function sendMessage(){
if( !sended ){
$('div').html($('div').html() + '<br />new message');
sended = true;
wait( 2000 );
}
}
function wait( miliseconds ){
setTimeout(function(){
sended = false;
}, miliseconds)
}
您可以看到此工作at jsfiddle