2015-09-09 39 views
0

電報bot(php) 如何識別發送給用戶的消息和用戶寫回答之間的關係? 我怎麼能確定是否是這個文本在電報機器人的答案 這樣的代碼 首先我把5個按鈕,當用戶按下每個按鈕用戶必須輸入文本 我想確定它是特定按鈕的答案。 我該如何識別這與PHP?使用php的bot電報(sendmessage與用戶的關係)

回答

0

如果我理解正確的問題, 你可以做一個表/收集在數據庫中,並保存用戶的電報ID上次發送的消息,也可以是這樣的:

{ 
    userID : xxxxxx 
    lastMessageSent : Button1 
} 
2
  1. 當用戶從機器人菜單中選擇一個問題時,將其存儲在數據庫中。例如用戶選擇「問題2」:

    storLastPlace($userId,'question2'); 
    
  2. 當該用戶來到新郵件機器人,檢查它最後的地方,並做適當的行動前:

    $lastPlace = getLastPlace($userId); 
    if($lastPlace){ 
        switch ($lastPlace) { 
        case 'question1': 
         // recive answer1 
         break; 
        case 'question2': 
         // recive answer1 
         break; 
        } 
    } 
    
+0

由於這是一個很好的解決方案,但我們可以使用c sharp中的字典,然後如果程序崩潰並且在程序重新啓動時沒有保存在數據庫中,則返回並重復並重新掃描最後一次不需要的請求,即一次回覆。你的解決方案更好,但是當我們有這麼多的請求時,我們在數據庫服務器上負擔很重。 –