【发布时间】:2020-08-04 12:15:08
【问题描述】:
我有一个问题,当 Telepot 发送第二条消息时(按下 'reply_markup=keyboard_selection' 后),telepot 也发送第一条消息 'bot.sendMessage(chat_id, text = "Cosa desideri fare?", reply_markup=keyboard_selection )'
import time
import telepot
from telepot.loop import MessageLoop
import telepot.namedtuple
bot = telepot.Bot("1210935912:AAG4X8vHlXLM3jQWnxFKDB2NsZ6pqTQM7lQ")
lista = ["New York","Los Angeles","Miami","Toronto","Berlin","Rome","Ciao"]
seq = iter(lista)
#reqloc = keyboard = {"text": "Utilizza la geolocalizzazione", "request_location": True} Update Beta 1.01
#keyboard = {"keyboard": [[reqloc]]+[[{"text": i} for i in pair] for pair in zip(seq)]}
keyboard_locpo = {"keyboard": [[{"text": i} for i in pair] for pair in zip(seq)]}
keyboard_selection = {"keyboard": [[{"text": "Cerca fermata ora"}],
[{"text": "Pianififca Viaggio"}]]}
def handle(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
bot.sendMessage(chat_id, text = "Cosa desideri fare?", reply_markup=keyboard_selection)
text = msg['text']
if text == "Cerca fermata ora":
bot.sendMessage(chat_id, text = "Cosa", reply_markup=keyboard_selection)
【问题讨论】:
-
您永远不应该在问题中包含您的机器人令牌。Time to regenerate it!但是看到您每次调用
handle时都调用sendMessage,因此每次都会包含该消息。您可能希望在发送Cosa desideri fare?消息之前检查text。 -
谢谢,我会更改我的机器人令牌,我忘记了。是的,要检查文本。
-
那么,我该如何解决我的问题?
-
在发送第一条消息之前移动
text比较,并且仅在文本与第二步所需的文本不匹配时才发送消息。