Esempio n. 1
0
async def testing_easy_difficult(call: types.CallbackQuery, state: FSMContext):
    await state.update_data(current_difficult='easy')

    import random
    data = await state.get_data()
    i = 0
    answers = {}

    kbAnswersChoose = ReplyKeyboardMarkup(resize_keyboard=True,
                                          one_time_keyboard=True,
                                          row_width=2)
    category = data.get("category")
    words = await db.async_testing_easy_difficult(category=category)

    for word in words:
        answers[i] = word[0][1]
        i += 1
    for button_name, word in answers.items():
        button_name = KeyboardButton(word)
        kbAnswersChoose.insert(button_name)
    btnGoBack = KeyboardButton("Вернуться в главное меню")
    kbAnswersChoose.insert(btnGoBack)

    word_and_translate = random.choice(words[random.randint(0, 3)])
    word_originally = word_and_translate[0]
    word_translate = word_and_translate[1]

    await state.update_data(word_translate=word_translate)

    await call.message.answer(
        f"Дано слово: {word_originally}\n\nКаков его перевод?",
        reply_markup=kbAnswersChoose)

    await Testing.waiting_for_choose_right_answer.set()
Esempio n. 2
0
async def edit_name(message: Message):
    markup = ReplyKeyboardMarkup(resize_keyboard=True)
    markup.insert(KeyboardButton(text=_("🔙 Back")))

    await message.answer(_("Enter your new name"), reply_markup=markup)

    await Settings.InputtingName.set()
def select_groups_to_show(study_year):
    groups_markup = ReplyKeyboardMarkup(one_time_keyboard=True)
    for group in rasp[0].keys():
        if group[group.index("-") + 1] == str(study_year):
            button = KeyboardButton(text=group)
            groups_markup.insert(button)
    return groups_markup
def position_keyboard(pos_cnt: int):
    markup = ReplyKeyboardMarkup(row_width=3, resize_keyboard=True)

    for i in range(pos_cnt):
        button = KeyboardButton(text=f'{i + 1}')
        markup.insert(button)

    return markup
def keyboard_categories(user_id):
    categories = database.get_all_categories()
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=3)
    for i in categories:
        markup.insert(KeyboardButton(i[1]))
    if user_id in admins:
        markup.add(KeyboardButton("Сгенерировать инвайт ссылку"))
    return markup
Esempio n. 6
0
 async def send_message(message: types.Message):
     keyboard = ReplyKeyboardMarkup(row_width=1, resize_keyboard=True)
     for books in read_file[message.text]:
         buttons = KeyboardButton(text=books)
         keyboard.insert(buttons)
     cancel_button = KeyboardButton(text='Артқа')
     keyboard.insert(cancel_button)
     await message.answer(text='Кітапты таңдаңыз', reply_markup=keyboard)
async def generate_markup_partner() -> ReplyKeyboardMarkup:
    services = await manager.partner.select_services()
    markup = ReplyKeyboardMarkup(row_width=3, resize_keyboard=True)
    for partner in services:
        markup.insert(
            KeyboardButton(text=partner.get('partner_service'))
        )
    markup.row(KeyboardButton(text='Вернуться назад'))
    return markup
Esempio n. 8
0
def create_reply_keyboard():
    lenght = adm_collection.find().count()
    if lenght >= 4:
        board_4 = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True, row_width=4).insert(KeyboardButton('1'))
    else:
        board_4 = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True).insert(KeyboardButton('1'))
    for i in range(2, lenght+1):
        board_4.insert(KeyboardButton(f'{i}'))
    return board_4
async def generate_keyboard_by_partners(
        message: types.Message) -> ReplyKeyboardMarkup:
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
    partner_service = message.text
    partners = await manager.partner.select_entry(
        partner_service=partner_service, fetch_all=True)
    for partner in partners:
        markup.insert(KeyboardButton(text=partner.get('company_name')))
    markup.insert(KeyboardButton(text='Вернуться назад'))
    return markup
async def generate_markup_folders(
        master_type: str
) -> Tuple[ReplyKeyboardMarkup, Optional[List[Record]]]:
    masters = await manager.employee.get_by_type(master_type)
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    folders = (len(masters) // 10) + 1
    for f_number in range(folders):
        markup.insert(KeyboardButton(text=f'Папка{f_number + 1}'))
    markup.row(KeyboardButton(text='Назад'))
    return markup, masters
Esempio n. 11
0
def showCardMarkup(card: Card):
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=4)
    markup.add(KeyboardButton('Назад ⬅'))
    markup.add(KeyboardButton(f"Сумма: {card.totalPrice} грн"))
    markup.insert(f"Блюд: {card.number}")
    for item in card.items:
        markup.add(
            f"{card.items[item].name.title()} | Кол-во: {card.items[item].quantity}"
        )
    return markup
def generate_start_keyboard(
        query: Union[types.Message,
                     types.CallbackQuery]) -> ReplyKeyboardMarkup:
    markup = ReplyKeyboardMarkup(keyboard=[[
        KeyboardButton(text='Мастера'),
        KeyboardButton(text='Партнеры')
    ], [KeyboardButton(text='Поиск мастера')]],
                                 resize_keyboard=True)
    if query.from_user.id in ADMINS:
        markup.insert(KeyboardButton(text='Админка'))
    return markup
Esempio n. 13
0
def faq_keyboard():
    k = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    k.insert(KeyboardButton('1️⃣'))
    k.insert(KeyboardButton('2️⃣'))
    k.insert(KeyboardButton('3️⃣'))
    k.insert(KeyboardButton('4️⃣'))
    k.insert(KeyboardButton('5️⃣'))
    k.insert(KeyboardButton('6️⃣'))
    k.insert(KeyboardButton('7️⃣'))
    k.insert(KeyboardButton('Відміна❌'))
    return k
Esempio n. 14
0
def create_choices(choices_count, required):
    choices = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)

    for i in range(choices_count):
        choices_btn = KeyboardButton(text=f'{i + 1}')
        choices.insert(choices_btn)

    if not (required):
        skip_btn = KeyboardButton(text=command_texts[1])
        choices.insert(skip_btn)

    return choices
Esempio n. 15
0
def getDefaultReplyKeyboard():
	markup = ReplyKeyboardMarkup(resize_keyboard=True, selective=True, row_width=3)
	markup.add("Демотиватор")
	markup.insert("Пρопустить подзаголовок")
	markup.insert("Случɑйная подпись")
	markup.add("Распознать QR")
	markup.insert("Настρойки")
	markup.insert("ʘтмена")

	return markup
Esempio n. 16
0
def mainCurrencyMarkup(user: User):
    markup = ReplyKeyboardMarkup(resize_keyboard=True)
    if user.userCurrency is None:
        currencyList = ['USD', 'EUR']
    else:
        currencyList = user.userCurrency

    data = db.getCurrencyList()

    for curr in currencyList:
        markup.insert(KeyboardButton(f"{curr} {data[curr]['Emoji']}"))
        if markup.keyboard[0].__len__() == 3:
            markup.add()

    markup.insert(KeyboardButton('Другие валюты $ € ¥ ₤ £'))
    markup.add(KeyboardButton('Конвертер валют'))
    markup.add(KeyboardButton('Назад ⬅'))
    return markup
async def master_types_keyboard() -> ReplyKeyboardMarkup:
    master_types = await get_master_types()
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    [
        markup.insert(
            t.get('type') +
            "ы" if t.get('type') == 'Маляр' else t.get('type') + "и")
        for t in master_types
    ]
    markup.row(KeyboardButton(text='Вернуться назад'))
    return markup
Esempio n. 18
0
def get_main_keyboard(user_search: bool, lang: str = 'ru'):
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True, )
    if user_search is True:
        keyboard.insert(
            KeyboardButton(text=format_text('btn finding job true', lang)))
    else:
        keyboard.insert(
            KeyboardButton(text=format_text('btn finding job false', lang)))
    keyboard.insert(KeyboardButton(text=format_text('btn settings', lang)))
    return keyboard
Esempio n. 19
0
def allItemsMenu(itemsList: list, quantity: str):
    markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=4)
    markup.add(KeyboardButton('Назад ⬅'))
    markup.add(KeyboardButton('Сортировать по'))
    markup.add(KeyboardButton('🔤'))
    markup.insert(KeyboardButton('💲'))
    markup.insert(KeyboardButton('⚖️'))

    if quantity != '':
        markup.insert(KeyboardButton('🍣🔢'))

    for item in itemsList:
        if quantity != '':
            text = f"{(item[0].title())} | {item[1]} | {item[4]} шт. | {item[2]} грн."
        else:
            text = f"{item[0].title()} | {item[1]} | {item[2]} грн."
        markup.add(KeyboardButton(text=text))
    return markup
async def start_handler(message: types.Message):
    with session_scope() as session:
        db_user = await get_or_create_user(session, message)
        reply_keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
        # TODO добавить меню для настроек, куда оно блин делось...
        if db_user.status == "moderator":
            reply_keyboard.add(KeyboardButton('Начать модерацию 📝'))
            reply_keyboard.add(KeyboardButton('Профиль 👤'))
        elif db_user.status == "specialist":
            reply_keyboard.add(KeyboardButton('Список доступных задач 📝'))
            reply_keyboard.add(KeyboardButton('Текущие задачи 📋'))
            reply_keyboard.insert(KeyboardButton('История задач 📜'))
            reply_keyboard.add(KeyboardButton('Профиль 👤'))
        elif db_user.status == "representative":
            reply_keyboard.add(KeyboardButton('Добавить задачу 📝'))
            reply_keyboard.add(KeyboardButton('Текущие задачи 📋'))
            reply_keyboard.insert(KeyboardButton('История задач 📜'))
            reply_keyboard.add(KeyboardButton('Профиль 👤'))
        else:
            reply_keyboard.add(KeyboardButton('Зарегистрироваться 📝'))
        reply_keyboard.insert(KeyboardButton('Помощь 🙋'))
        await message.answer(res_dict["start"],
                             parse_mode="html",
                             reply_markup=reply_keyboard)
Esempio n. 21
0
"""
from aiogram.types import (
    ReplyKeyboardRemove,
    ReplyKeyboardMarkup,
    InlineKeyboardMarkup,
    InlineKeyboardButton,
    # KeyboardButton,
)
from bot.app.ticket import URGENCY

no_keyboard = ReplyKeyboardRemove()

select_urgent_keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                             one_time_keyboard=True)
for value in URGENCY:
    select_urgent_keyboard.insert(URGENCY[value])

select_cancel_create = ReplyKeyboardMarkup(resize_keyboard=True,
                                           one_time_keyboard=True)
select_cancel_create.insert("/Отмена")

select_command = ReplyKeyboardMarkup(resize_keyboard=True,
                                     one_time_keyboard=True)
select_command.insert("/Мои заявки")
select_command.insert("/Создать заявку")


def select_approve_refuse(ticket_id: int) -> InlineKeyboardMarkup:
    """ Keyboard to approve or refuse ticket with ticket_id label """
    approve_solution = InlineKeyboardButton(
        "Подтвердить решение", callback_data=f"approve_solution:{ticket_id}")
Esempio n. 22
0
markup3 = ReplyKeyboardMarkup().add(
    button1).add(button2).add(button3)

markup4 = ReplyKeyboardMarkup().row(
    button1, button2, button3
)

markup5 = ReplyKeyboardMarkup().row(
    button1, button2, button3
).add(KeyboardButton('Средний ряд'))

button4 = KeyboardButton('4️⃣')
button5 = KeyboardButton('5️⃣')
button6 = KeyboardButton('6️⃣')
markup5.row(button4, button5)
markup5.insert(button6)

markup_request = ReplyKeyboardMarkup(resize_keyboard=True).add(
    KeyboardButton('Отправить свой контакт ☎️', request_contact=True)
).add(
    KeyboardButton('Отправить свою локацию 🗺️', request_location=True)
)

markup_big = ReplyKeyboardMarkup()

markup_big.add(
    button1, button2, button3, button4, button5, button6
)
markup_big.row(
    button1, button2, button3, button4, button5, button6
)
Esempio n. 23
0
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton

menu = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
game_kb = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)

for_what_btn = KeyboardButton(text='Зачем ты нужен?')
what_know_btn = KeyboardButton(text='Что ты обо мне знаешь?')
play_btn = KeyboardButton(text='Сыграть в игру.')

paper = KeyboardButton(text='stone')
stone = KeyboardButton(text='paper')
scissors = KeyboardButton(text='scissors')

menu.insert(for_what_btn)
menu.insert(what_know_btn)
menu.insert(play_btn)

game_kb.insert(paper)
game_kb.insert(stone)
game_kb.insert(scissors)
Esempio n. 24
0
def create_kb_coustom_main_menu(user_id):
    from loader import db
    from data.config import super_admins

    if not user_id in super_admins:
        user_status = db.get_user_status(id=user_id)
    else:
        user_status = 'admin'

    keyboard = ReplyKeyboardMarkup()

    if user_status == 'admin':
        keyboard.add(KeyboardButton(text='права пользователей'))
        # keyboard.insert(KeyboardButton(text='информация о смс'))

        keyboard.add(KeyboardButton(text='создать заявку'))
        keyboard.insert(KeyboardButton(text='в работе'))

        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.insert(KeyboardButton(text='создать пропуск'))

        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.insert(KeyboardButton(text='отчетность'))

    elif user_status == 'changer':
        keyboard.add(KeyboardButton(text='создать заявку'))
        keyboard.insert(KeyboardButton(text='в работе'))
        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.insert(KeyboardButton(text='создать пропуск'))
        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.insert(KeyboardButton(text='отчетность'))

    elif user_status == 'executor':
        keyboard.add(KeyboardButton(text='в работе'))
        keyboard.add(KeyboardButton(text='балансы'))
        keyboard.add(KeyboardButton(text='отчетность'))

    elif user_status == 'secretary':
        # keyboard.add(KeyboardButton(text='информация о смс'))
        keyboard.add(KeyboardButton(text='пропуска'))
        keyboard.add(KeyboardButton(text='создать пропуск'))

    elif user_status == 'permit':
        keyboard.add(KeyboardButton(text='создать пропуск'))
    else:
        pass

    keyboard.resize_keyboard = True
    keyboard.one_time_keyboard = True

    return keyboard


# main_menu = ReplyKeyboardMarkup (

#     keyboard = [
#         [
#             KeyboardButton(text='права пользователей'),
#             KeyboardButton(text='информация о смс')
#         ],
#         [
#             KeyboardButton(text='создать заявку'),
#             KeyboardButton(text='в работе')
#         ],
#         [
#             KeyboardButton(text='пропуска'),
#         ]
#     ],
#     resize_keyboard=True,
#     one_time_keyboard=True
# )
Esempio n. 25
0
from aiogram.types import ReplyKeyboardMarkup, \
                        KeyboardButton

# Одна кнопка
btnHello = KeyboardButton("Привет 👋")
greet_kb = ReplyKeyboardMarkup(resize_keyboard=True,
                               one_time_keyboard=True).add(btnHello)

# Много кнопок
button1 = KeyboardButton("🔔")
button2 = KeyboardButton("2")
button3 = KeyboardButton("3")

markup1 = ReplyKeyboardMarkup().add(button1).add(button2).add(button3)
markup2 = ReplyKeyboardMarkup(resize_keyboard=True).row(
    button1, button2, button3)
markup3 = ReplyKeyboardMarkup(resize_keyboard=True).row(button1, button2, button3) \
                                                .add(KeyboardButton("Средняя кнопка! 👋"))

markup3.row(KeyboardButton("4"), KeyboardButton("5"))
markup3.insert(KeyboardButton("6"))
markup3.add(KeyboardButton("Новая строка"))

# Кнопки отправки контакта и геолокации
markup_requests = ReplyKeyboardMarkup(resize_keyboard=True) \
  .add(KeyboardButton('Отправить свой контакт', request_contact=True)).add(KeyboardButton('Отправить свою геолокацию', request_location=True))
Esempio n. 26
0
from aiogram.types import ReplyKeyboardMarkup, KeyboardButton

from_time = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)

nearest = KeyboardButton(text='Ближайшее')
later = KeyboardButton(text='Позже')

from_time.insert(nearest)
from_time.insert(later)

address = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)

fits = KeyboardButton(text='Подходит')
express = KeyboardButton(text='Срочная')
for_time = KeyboardButton(text='Ко времени')

address.insert(fits)
address.insert(express)
address.insert(for_time)
Esempio n. 27
0
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton, ContentType

btn_day_custom_schedule = KeyboardButton("🔀")
btn_day_schedule = KeyboardButton("1️⃣")
btn_week_schedule = KeyboardButton("7️⃣")
btn_month_schedule = KeyboardButton("🔢")
btn_home = KeyboardButton("🏠")
btn_settings = KeyboardButton("⚙️")
btn_info = KeyboardButton("🔍")
kb_start = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
kb_start.row(btn_day_custom_schedule, btn_day_schedule, btn_week_schedule,
             btn_month_schedule)
kb_start.row(btn_home, btn_settings)

btn_gr = KeyboardButton("/gr")
btn_tn = KeyboardButton("/tn")
btn_sn = KeyboardButton("/sn")
kb_settings = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
kb_settings.insert(btn_gr)
kb_settings.insert(btn_tn)
kb_settings.insert(btn_sn)
kb_settings.insert(btn_home)
kb_settings.insert(btn_settings)
kb_settings.insert(btn_info)

kb_additional = ReplyKeyboardMarkup(resize_keyboard=True,
                                    one_time_keyboard=False)
kb_additional.insert(btn_home)
kb_additional.insert(btn_settings)
Esempio n. 28
0
vk_login_no = InlineKeyboardButton('Нет', callback_data='no')

inline_vk_yes_no_kb = InlineKeyboardMarkup().add(vk_login_yes, vk_login_no)

inline_vk_github_kb = InlineKeyboardMarkup().add(vk_btn, git_btn)
inline_vk_urfu_kb = InlineKeyboardMarkup().add(vk_btn, urfu_btn)
inline_github_urfu = InlineKeyboardMarkup().add(urfu_btn, git_btn)
inline_github_kb = InlineKeyboardMarkup().add(git_btn)
inline_vk_kb = InlineKeyboardMarkup().add(vk_btn)
inline_urfu_kb = InlineKeyboardMarkup().add(urfu_btn)

time_kb = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)

for i in range(0, 24):
    hour = f'0{i}' if i < 10 else i
    time_kb.insert(f'{hour}:00')
    for j in range(15, 46, 15):
        time_kb.insert(f'{hour}:{j}')


async def get_choosed_keyboard(state: FSMContext):
    log = await state.get_data()
    vk, github, urfu = log.get('vk_selected'), log.get(
        'github_selected'), log.get('urfu_selected')
    if vk == False and github == False and urfu == True:
        return inline_vk_github_kb
    if vk == False and github == True and urfu == False:
        return inline_vk_urfu_kb
    if vk == True and github == False and urfu == False:
        return inline_github_urfu
    if vk == True and github == False and urfu == True:
Esempio n. 29
0
#https://api.telegram.org/bot1276910299:AAHzjDM1Z02_eSYBhR5uiB2m2LHtgZnYxrI/setWebhook?url=https://dd50f1ea6479.ngrok.io/

button1 = KeyboardButton('Анекдоты')
button2 = KeyboardButton('Рассказы')
button3 = KeyboardButton('Афоризмы')
button4 = KeyboardButton('Цитаты')
button5 = KeyboardButton('Тосты')
button6 = KeyboardButton('Статусы')
button7 = KeyboardButton('Анекдоты (18+)')
button8 = KeyboardButton('Рассказы (18+)')
button9 = KeyboardButton('Афоризмы (18+)')
button10 = KeyboardButton('Цитаты (18+)')
button11 = KeyboardButton('Тосты (18+)')
button12 = KeyboardButton('Статусы (18+)')
menu = ReplyKeyboardMarkup(resize_keyboard=True)
menu.insert(button1)
menu.insert(button2)
menu.insert(button3)
menu.insert(button4)
menu.insert(button5)
menu.insert(button6)
menu.insert(button7)
menu.insert(button8)
menu.insert(button9)
menu.insert(button10)
menu.insert(button11)
menu.insert(button12)


# start
@dp.message_handler(commands=['start', 'help'])
Esempio n. 30
0
from aiogram.types import ReplyKeyboardRemove, \
    ReplyKeyboardMarkup, KeyboardButton, \
    InlineKeyboardMarkup, InlineKeyboardButton

button1 = KeyboardButton('Понедельник')
button2 = KeyboardButton('Вторник')
button3 = KeyboardButton('Среда')

markup3 = ReplyKeyboardMarkup().add(
    button1).add(button2).add(button3)

markup4 = ReplyKeyboardMarkup().row(
    button1, button2, button3
)

markup5 = ReplyKeyboardMarkup().row(
    button1, button2, button3
).add(KeyboardButton('Воскресенье'))

button4 = KeyboardButton('Четверг')
button5 = KeyboardButton('Пятница')
button6 = KeyboardButton('Суббота')
markup5.row(button4, button5)
markup5.insert(button6)