[英]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.