0

我为我的机器人使用 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 个按钮

4

2 回答 2

0

不要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)
于 2021-01-16T18:56:35.987 回答
0

内联键盘只能由机器人发送!你应该bot_token=<token>进入kwargsClient

于 2021-08-03T09:56:49.107 回答