簡體   English   中英

自定義鍵盤•Ruby中的電報機器人

[英]Custom keyboard • telegram bot in Ruby

您好,我的電報機器人有一些問題,它是使用“ 電報 ”客戶端在ruby中開發的。

1)

  when '/lottery'
    question = 'choose a number:'
    answers =
      Telegram::Bot::Types::ReplyKeyboardMarkup.new(
      keyboard: [
        ["1", "2", "3"],
        ["4", "5", "6"],
        ["7", "8", "9"],
        [" ", "0", " "]
      ],

      one_time_keyboard: true
      )

    bot.api.sendMessage(chat_id: message.chat.id, text: question, reply_markup: answers)

我如何與用戶的答案互動? 喜歡

if answers == "1"
    bot.api.sendMessage(chat_id: message.chat.id, text: "You have selected 1", reply_markup: answers)
end

2)我如何讀取類似的命令

/ *** @ user1

然后機器人會說

@ user1 @user告訴你***

提前非常感謝您...

1。
當用戶單擊鍵盤上的某些內容時,不會發送任何特殊命令。 用戶單擊鍵盤上的“ 1”是否只是向您的機器人發送一條帶有“ 1”的消息(假設該機器人收到了該消息)都沒關系。 因此,您將只收到標准數據,例如

"message" : {
    "text" : "1"
    #...
}

因此,您可能會有一個與此相關的代碼

#If message text equals '1'
when '1'
    #Do something

2。
我不知道'telegrammer'客戶端是如何工作的,但是如果您首先檢查消息文本是否與某個正則表達式匹配,那可能是最好的。 如果文本確實匹配,則只需要拆分消息文本即可獲得所需的部分,從而可以構建答復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM