45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from pyrogram.types import (
|
|
ReplyKeyboardMarkup, KeyboardButton, ReplyKeyboardRemove, ForceReply)
|
|
|
|
|
|
class ReplyKeyboard(ReplyKeyboardMarkup):
|
|
def __init__(self, resize_keyboard=None, one_time_keyboard=None,
|
|
selective=None, placeholder=None, row_width=3):
|
|
self.keyboard = list()
|
|
super().__init__(
|
|
keyboard=self.keyboard,
|
|
resize_keyboard=resize_keyboard,
|
|
one_time_keyboard=one_time_keyboard,
|
|
selective=selective,
|
|
placeholder=placeholder
|
|
)
|
|
self.row_width = row_width
|
|
|
|
def add(self, *args):
|
|
self.keyboard = [
|
|
args[i:i + self.row_width]
|
|
for i in range(0, len(args), self.row_width)
|
|
]
|
|
|
|
def row(self, *args):
|
|
self.keyboard.append([button for button in args])
|
|
|
|
|
|
class ReplyButton(KeyboardButton):
|
|
def __init__(self, text=None, request_contact=None, request_location=None):
|
|
super().__init__(
|
|
text=text,
|
|
request_contact=request_contact,
|
|
request_location=request_location
|
|
)
|
|
|
|
|
|
class ReplyKeyboardRemove(ReplyKeyboardRemove):
|
|
def __init__(self, selective=None):
|
|
super().__init__(selective=selective)
|
|
|
|
|
|
class ForceReply(ForceReply):
|
|
def __init__(self, selective=None, placeholder=None):
|
|
super().__init__(selective=selective, placeholder=placeholder)
|