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

问题描述

我为我的机器人使用热图

我想发送带有按钮的消息:

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_token=<token>kwargs

中设置 Client

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...