2013-04-25 7 views
0

나는 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

다음과 같이에서는 setTimeout을 사용할 수 있습니다

HTML :

<button id="button">message</button> 
<div></div> 

자바 스크립트 :

$('#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