Setting model, /status command for pinging host
This commit is contained in:
31
bot/keyboards/set_model.py
Normal file
31
bot/keyboards/set_model.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from aiogram import types
|
||||
from bot.db import db, DBTables
|
||||
from bot.callbacks.factories.set_model import set_model_page, set_model
|
||||
|
||||
|
||||
def get_set_model_keyboard(page: int) -> types.InlineKeyboardMarkup:
|
||||
models = db[DBTables.config]['models']
|
||||
navigation_buttons = list()
|
||||
page = int(page)
|
||||
|
||||
if page > 0:
|
||||
navigation_buttons.append(types.InlineKeyboardButton(
|
||||
'<',
|
||||
callback_data=set_model_page.new(page=page - 1)
|
||||
))
|
||||
if len([models[i:i + 5] for i in range(0, len(models), 5)]) > page + 1:
|
||||
navigation_buttons.append(types.InlineKeyboardButton(
|
||||
'>',
|
||||
callback_data=set_model_page.new(page=page + 1)
|
||||
))
|
||||
|
||||
models_buttons = [types.InlineKeyboardButton(models[i], callback_data=set_model.new(i)) for i in range(len(models))]
|
||||
|
||||
keyboard = types.InlineKeyboardMarkup(row_width=1)
|
||||
if len(models) > 5:
|
||||
keyboard.add(*[models_buttons[i:i + 5] for i in range(0, len(models_buttons), 5)][page])
|
||||
keyboard.row(*navigation_buttons)
|
||||
else:
|
||||
keyboard.add(*models_buttons)
|
||||
|
||||
return keyboard
|
||||
Reference in New Issue
Block a user