2017-05-03 4 views
1

이 함수를 호출하고 rime kill rhe 함수를 호출 한 후이 함수를 호출하는 방법은 무엇입니까?
함수를 호출 :함수를 한 번만 실행하십시오.

else if (msg.text == ["contact us"]) { 
     const opts = { 
     reply_to_message_id: msg.message_id, 
     reply_markup: JSON.stringify({ 
      keyboard: arrangeKeyboard(locale.keyboards[msg.text].childs, 2, msg), 
      resize_keyboard: true, 
      one_time_keyboard: true 
     }) 
     }; 
     bot.sendMessage(msg.chat.id, "Please Write your Messages:", opts); 
     getmessage1(); 
    } 

이 내 기능은 내가 루프에서 실행하지 않으려는, 내가 메시지를 보내와 기능을 죽일 필요가있다.

var getmessage = async() => { 
    // Listen for any kind of message. There are different kinds of messages. 
    await new Promise((resolve, reject) => { 
    bot.on('message', (msg) => { 
     if (!locale.keyboards[msg.text] && 
     !msg.text.includes("previous button")) { 
     console.log("user message is: " + msg.text) 
     const opts = { 
      reply_to_message_id: msg.message_id, 
      reply_markup: JSON.stringify({ 
      keyboard: arrangeKeyboardWithOut(locale.keyboards["/start"].childs, 2, msg), 
      resize_keyboard: true, 
      one_time_keyboard: true 
      }) 
     }; 
     bot.sendMessage(msg.chat.id, ' your message recieved', opts); 
     } 
     resolve(true); 
    }); 
    }); 
    return 
} 

var getmessage1 = async() => { 
    await getmessage(); 
} 
+0

이벤트를 한 번만 들으시겠습니까? –

+0

사용자가 연락하여 메시지를 보내면 처리가 완료됩니다.이 코드에서는 처음으로 시간이 지나면 okey가되므로 모든 버튼과 모든 menues에서 메시지를 수신 할 수 있습니다. –

+0

정확히 무엇을 의미합니까? 기능? 그래서 한 번만 실행하고 다시 호출하면 아무 일도하지 않습니까? –

답변

2

당신은 그냥 봇 객체가 한 번만 후 청취자 범위에서 분리 이벤트에 청취 할 bot.on이 방법 bot.once

에, 변경해야합니다.

+0

당신은 최고입니다. –

관련 문제