diff --git a/aiogram/types/inline_keyboard.py b/aiogram/types/inline_keyboard.py index 97ad35da..5cbaedb4 100644 --- a/aiogram/types/inline_keyboard.py +++ b/aiogram/types/inline_keyboard.py @@ -82,6 +82,19 @@ class InlineKeyboardMarkup(base.TelegramObject): self.add(button) return self + def arrange(self, *args): + btns = list() + for a in self.inline_keyboard: + for b in a: + btns.append(b) + self.row_width = max(args) + tmplist = [[InlineKeyboardButton('', '') for _ in range(i)] for i in args] + for a in range(len(tmplist)): + for b in range(len(tmplist[a])): + tmplist[a][b] = btns.pop(0) + self.inline_keyboard = tmplist + return self + class InlineKeyboardButton(base.TelegramObject): """ diff --git a/aiogram/types/reply_keyboard.py b/aiogram/types/reply_keyboard.py index 16382353..208b31d8 100644 --- a/aiogram/types/reply_keyboard.py +++ b/aiogram/types/reply_keyboard.py @@ -78,10 +78,13 @@ 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))] + def arrange(self, *args): + btns = list() + for a in self.keyboard: + for b in a: + btns.append(b) + self.row_width = max(args) + tmplist = [[KeyboardButton('') for _ in range(i)] for i in args] for a in range(len(tmplist)): for b in range(len(tmplist[a])): tmplist[a][b] = btns.pop(0)