From 1460c07e486891680da13af11cdfb51facae1847 Mon Sep 17 00:00:00 2001 From: Forden Date: Sun, 1 Sep 2019 16:19:14 +0300 Subject: [PATCH] Auto balancing ReplyKeyboardMarkup --- aiogram/types/reply_keyboard.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/aiogram/types/reply_keyboard.py b/aiogram/types/reply_keyboard.py index 8eda21f9..16382353 100644 --- a/aiogram/types/reply_keyboard.py +++ b/aiogram/types/reply_keyboard.py @@ -78,6 +78,16 @@ class ReplyKeyboardMarkup(base.TelegramObject): self.add(button) return self + def arrange_schema(self, buttons: typing.List[str], count: typing.List[int]): + btns = list(map(KeyboardButton, buttons)) + self.row_width = max(count) + tmplist = [[KeyboardButton('') for _ in range(count[i])] for i in range(len(count))] + for a in range(len(tmplist)): + for b in range(len(tmplist[a])): + tmplist[a][b] = btns.pop(0) + self.keyboard = tmplist + return self + class KeyboardButton(base.TelegramObject): """