Keyboard Button Styles

Pyrogram now supports styled inline and reply keyboard buttons.

Button Styles

Buttons can have different visual styles using the KeyboardButtonStyle enum:

  • PRIMARY: Default blue style.

  • DANGER: Red style for destructive actions.

  • SUCCESS: Green style for positive actions.

from pyrogram import Client, types, enums

app = Client("my_account")

async def main():
    await app.send_message(
        "chat_id",
        "Choose an action:",
        reply_markup=types.InlineKeyboardMarkup([
            [
                types.InlineKeyboardButton(
                    "Delete Record",
                    callback_data="delete",
                    style=enums.KeyboardButtonStyle.DANGER
                ),
                types.InlineKeyboardButton(
                    "Save Changes",
                    callback_data="save",
                    style=enums.KeyboardButtonStyle.SUCCESS
                )
            ]
        ])
    )

app.run(main())

Button Icons

You can also attach custom icons to buttons:

from pyrogram import Client, types

async def main():
    await app.send_message(
        "chat_id",
        "Settings:",
        reply_markup=types.ReplyKeyboardMarkup([
            [
                types.KeyboardButton(
                    "Notifications",
                    icon=123456789  # Custom Emoji ID
                )
            ]
        ])
    )