File size: 889 Bytes
5ae3313
 
 
1b5719b
5ae3313
 
 
 
 
1b5719b
 
 
 
 
 
 
 
 
 
 
5a78342
1b5719b
5a78342
5ae3313
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup


def ikb(rows=None, back=False, todo="start_back"):
    if rows is None:
        rows = []
    lines = []
    for row in rows:
        line = []
        try:
            for button in row:
                btn_text = button.split(".")[1].upper()
                button = btn(btn_text, button)  # InlineKeyboardButton
                line.append(button)
            lines.append(line)
        except AttributeError:
            for button in row:
                button = btn(*button)  # InlineKeyboardButton
                line.append(button)
            lines.append(line)
    if back:
        back_btn = [(btn("« Back", todo))]
        lines.append(back_btn)
    return InlineKeyboardMarkup(inline_keyboard=lines)


def btn(text, value, type="callback_data"):
    return InlineKeyboardButton(text, **{type: value})