回复按钮未显示在电报机器人程序中



我为我的机器人使用pyrogram

我想用按钮发送消息:

from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton,ReplyKeyboardMarkup
from pyrogram import types
def cmd_start(self, chat_id, message):
with Client("my_acc", api_id=self.api_id,api_hash=self.api_hash,proxy=self.proxy) as app:

start_service = types.InlineKeyboardButton(text='but1', callback_data='service')
start_system = types.InlineKeyboardButton(text='but2', callback_data='system')
start_check = types.InlineKeyboardButton(text='but3', callback_data='check')
start_other = types.InlineKeyboardButton(text='but4', callback_data='other')
start_keyboard = types.ReplyKeyboardMarkup(keyboard=[[start_service, start_system], [start_check, start_other]])

app.send_message(chat_id, 'test', reply_markup=start_keyboard)

发送成功,但我在聊天中只看到简单的短信"测试",而不是4个按钮的

不要将ReplyKeyboardMarkup用于内联键盘,而是使用InlineKeyboardMarkup

这样做:

start_service = types.InlineKeyboardButton(text='but1', callback_data='service')
start_system = types.InlineKeyboardButton(text='but2', callback_data='system')
start_check = types.InlineKeyboardButton(text='but3', callback_data='check')
start_other = types.InlineKeyboardButton(text='but4', callback_data='other')
start_keyboard = types.InlineKeyboardMarkup(inline_keyboard=[[start_service, start_system], [start_check, start_other]])

app.send_message(chat_id, 'test', reply_markup=start_keyboard)

内联键盘只能由Bot发送!您应该在Clientkwargs中设置bot_token=<token>

最新更新