Reputation: 31
I want when someone choose an ReplyKeyboardMarkup keys Program do a job for example:
@Client.on_message(filters.command('start'))
async def start(client: Client, message: Message):
await message.reply_text('Click an option',
reply_markup=ReplyKeyboardMarkup(
[
['Option A'],
['Option B']
],
resize_keyboard=True, one_time_keyboard=True)
)
For example in this situation I want when user click on Option A
the bot does something but it doesn't.
I tried this code but it didnt work either:
@Client.on_message(filters.regex('Option A') | filters.regex('Option B'))
def robot(client: Client, message: Message):
if filters.text() == "Option A":
def fa2en(client: Client, message: Message):
message.reply_text('bot prints something')
Upvotes: 0
Views: 570
Reputation: 565
To get the text of the message use message.text
, is it really necessary anyway? the filters.regex() should suffice
@Client.on_message(filters.command("start"))
async def start(client: Client, message: Message):
await message.reply_text("Click an option", reply_markup=ReplyKeyboardMarkup(
[
["Option A"],
["Option B"]
],
resize_keyboard=True, one_time_keyboard=True)
)
@Client.on_message(filters.regex("Option A") | filters.regex("Option B"))
async def robot(client: Client, message: Message):
if message.text == "Option A":
await message.reply_text("bot prints something")
# does something...
Upvotes: 1