Esempio n. 1
0
def get_geobutton(with_back: bool = False) -> ReplyKeyboardMarkup:
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    geobutton = KeyboardButton(text=buttons.geobutton.value,
                               request_location=True)
    kb.row(geobutton) if not with_back else kb.row(buttons.back.value,
                                                   geobutton)
    return kb
Esempio n. 2
0
def events_reply_keyboard(events_list,
                          admin_mode=False,
                          archived=False) -> Union[ReplyKeyboardMarkup, None]:
    max_buttons_in_row = 1
    keyboard = None
    row_list = []
    if len(events_list) > 0:
        i = 0
        for event in events_list:
            button = KeyboardButton(event.title)
            if len(row_list) == i:
                row_list.append([])
            row_list[i].append(button)
            if len(row_list[i]) == max_buttons_in_row:
                i += 1

    if admin_mode:
        if archived:
            row_list.append([button_back_to_events])
        else:
            row_list.append([button_create_new])
            row_list.append([button_view_archive])

    if len(row_list) > 0:
        keyboard = ReplyKeyboardMarkup()
        for row in row_list:
            keyboard.row(*row)
    return keyboard
Esempio n. 3
0
def PROFILE_Kb():
    pfl_kb = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    pfl_kb.row(KeyboardButton(text='🥋 Экипировка'),
               KeyboardButton(text='⚖️ Повышение характеристик'))
    pfl_kb.row(KeyboardButton(text='📯 Повышение ранга'),
               KeyboardButton(text='🔙 Назад'))
    return pfl_kb
Esempio n. 4
0
def create_keyboard(headings):
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    for header in headings:
        button = KeyboardButton(header.get_name())
        keyboard.add(button)
    keyboard.row(back, home)
    return keyboard
Esempio n. 5
0
async def step_one(message: types.Message):
    
    #This handler will be called when user sends `/start`  command
    
    
    await message.answer("""Hello, My name is CryptoWatch

You can get the latest cryptocurrency exchange rate, just type /start to begin.

You can also subscribe to a particular crypto price (get a trade signal), for example: “23000 < BTC” (number > or < Ticker).

 I will remind you when the price reaches the set value.

Subscribe to as much as you want, but do it wisely

/unsubscribe to stop the reminder
    """)
 

    rub = KeyboardButton('RUB')

    usd = KeyboardButton('USD')

    eur = KeyboardButton('EUR')

    cny = KeyboardButton('CNY')

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

    keyboard_fiat.row(rub, usd).row(eur, cny)

    await message.answer('Choose fiat currency for comparison', reply_markup=keyboard_fiat)
Esempio n. 6
0
def get_settings_menu() -> ReplyKeyboardMarkup:
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.row(buttons.sm_zmanim.value, buttons.sm_candle.value,
           buttons.sm_havdala.value)
    kb.row(buttons.sm_lang.value, buttons.sm_location.value,
           buttons.back.value)
    return kb
Esempio n. 7
0
def get_navigation_keyboard():
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    options = ["/previous", "/next"]
    keyboard.add(*options)
    keyboard.row("/cancel")

    return keyboard
Esempio n. 8
0
async def second_send_welcome(message: types.Message, state: FSMContext):
    """"Read photo from telegram server and choose operations to do on photo.

    Args:
        message: Message from telegram update.
        state: State from Finite State Machine.
    """
    photo = get_max_sized_photo(message.photo)
    photo_id = photo.file_id
    file = await bot.get_file(photo_id)
    file_path = file.file_path

    photo_path = settings.project_static_path / f'{message.from_user.id}_2_lab_base_photo.jpg'

    await state.update_data(base_image=photo_path)
    await bot.download_file(file_path, photo_path)

    paths = create_histogram(str(photo_path), settings, message.from_user.id)

    media = create_media(paths)

    await message.answer_media_group(media=media)

    key_board = ReplyKeyboardMarkup(resize_keyboard=True)
    first_button = KeyboardButton('darker')
    second_button = KeyboardButton('negative')
    third_button = KeyboardButton('sigmoid')
    four_button = KeyboardButton('lighter')
    key_board.row(first_button, second_button, third_button, four_button)

    await message.answer('Choose on of the operations:',
                         reply_markup=key_board)
    await Second.gradation_transformations_two.set()
Esempio n. 9
0
 def buttons(self):
     keyboard_markup = ReplyKeyboardMarkup(row_width=self.row_width,
                                           resize_keyboard=True)
     row_btns = (KeyboardButton(text)
                 for callback_data_str, text in self.data)
     keyboard_markup.row(*row_btns)
     return keyboard_markup
Esempio n. 10
0
def menu():
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                   one_time_keyboard=True)
    keyboard.row(KeyboardButton('🔥 Номера'), KeyboardButton("🆘 Правила"),
                 KeyboardButton("💰 Баланс"))
    keyboard.row(KeyboardButton('💩 Помощь'), KeyboardButton("💼 Мой профиль"))
    return keyboard
Esempio n. 11
0
def lessons_main(group: str) -> ReplyKeyboardMarkup:
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    for lesson_id in lessons_db.get_ids(group):
        res = lessons_db.get_record_by_id(group, lesson_id)
        keyboard.row(f'{res["id"]:3}: {res["theme"]}')
    keyboard.row('Отмена')
    return keyboard
Esempio n. 12
0
async def ask_confirmation(message: Message, state: FSMContext):
    data = await state.get_data()
    answer_message = f"Do you want to add this expense?: \n" \
                     f"{data.get('amount')} \u20BD for '{data.get('category').name}' with {data.get('payment')}"
    reply_keyboard = ReplyKeyboardMarkup()
    reply_keyboard.row('Confirm', 'Cancel')
    await CreateExpense.waiting_for_confirm.set()
    await message.answer(answer_message, reply_markup=reply_keyboard)
Esempio n. 13
0
async def tg_reply_keyboard(buttons: list):
    markup = ReplyKeyboardMarkup(resize_keyboard=True)
    for row in buttons:
        row_buttons = []
        for button in row:
            row_buttons.append(KeyboardButton(button))
        markup.row(*row_buttons)
    return markup
Esempio n. 14
0
def adminsroom_user_chose() -> ReplyKeyboardMarkup:
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    for user_id in users_db.get_ids('users'):
        user = users_db.get_record_by_id('users', user_id)
        button = f'{user_id}: {user["user_name"]}'
        keyboard.row(button)
    keyboard.row('Отмена')
    return keyboard
async def complex_keyboard(message: types.Message):
    button_text = KeyboardButton('🌄')
    button_contact = KeyboardButton('📞', request_contact=True)
    button_location = KeyboardButton('🌍', request_location=True)
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.add(button_text)
    kb.row(button_location, button_contact)
    await message.answer('Нажми кнопку', reply_markup=kb)
Esempio n. 16
0
def create_reply_markup():
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    keyboard.row(
        KeyboardButton('Новый вопрос'),
        KeyboardButton('Сдаться'),
    )
    keyboard.add(KeyboardButton('Мой счет'))
    return 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. 18
0
def adminsroom_message_chose() -> ReplyKeyboardMarkup:
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
    for question_id in questions_base.get_ids():
        question = questions_base.get_message(question_id)
        button = f'{question_id}: {lessons_db.get_record_by_id(question["lesson_group"], question["lesson_id"])["theme"]}' \
                 f' {users_db.get_record_by_id("users", question["author_id"])["user_name"]}'
        keyboard.row(button)
    keyboard.row('Отмена')
    return keyboard
Esempio n. 19
0
def get_main_kb():
    keyboard = ReplyKeyboardMarkup(
        resize_keyboard=True, one_time_keyboard=True).add(
            KeyboardButton(
                emojize(':chequered_flag: Играть :chequered_flag:')))
    keyboard.row(KeyboardButton(emojize(':trophy: Рейтинги :trophy:')))
    keyboard.row(KeyboardButton(emojize(':bar_chart: Статистика')),
                 KeyboardButton(emojize(':interrobang: FAQ')),
                 KeyboardButton(emojize(':construction: Настройки')))
    return keyboard
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. 21
0
def gateway_keyboard(currency: str, currency_type: str) -> ReplyKeyboardMarkup:
    """Get keyboard with gateways of ``currency`` from whitelist."""
    keyboard = ReplyKeyboardMarkup(row_width=5,
                                   one_time_keyboard=currency_type == "sell")
    keyboard.add(*[KeyboardButton(g) for g in CRYPTOCURRENCY[currency]])
    keyboard.row(
        KeyboardButton(emojize(":fast_reverse_button: ") + i18n("back")),
        KeyboardButton(emojize(":fast_forward: ") + i18n("without_gateway")),
        KeyboardButton(emojize(":x: ") + i18n("cancel")),
    )
    return keyboard
Esempio n. 22
0
def get_more_holidays_menu() -> ReplyKeyboardMarkup:
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.row(buttons.hom_tu_bishvat.value, buttons.hom_lag_baomer.value,
           buttons.hom_israel.value)
    kb.row(buttons.mm_holidays.value, buttons.back.value)

    if i18n_.is_rtl():
        for row in kb.keyboard:
            row.reverse()

    return kb
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. 24
0
def oneplus_keyboard(args: OnePlus) -> ReplyKeyboardMarkup:  # означает что выводит ReplyKeyboardMarkup
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)

    if not args.aling:
        for num, button in enumerate(args.text):
            keyboard.add(KeyboardButton(text=str(button)))
    else:
        count = 0
        for row_size in args.aling:
            keyboard.row(*[KeyboardButton(text=str(text)) for text in args.text[count: count + row_size]])
            count += row_size
    return keyboard
Esempio n. 25
0
def get_settings_menu() -> ReplyKeyboardMarkup:
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.row(buttons.sm_zmanim.value, buttons.sm_candle.value,
           buttons.sm_havdala.value)
    kb.row(buttons.sm_lang.value, buttons.sm_omer.value,
           buttons.sm_location.value, buttons.back.value)

    if i18n_.is_rtl():
        for row in kb.keyboard:
            row.reverse()

    return kb
Esempio n. 26
0
def head_buttons(document_id):
    hed, get_content = get_headers(document_id)
    headers = [x for x in hed.keys()]
    formatted_2d_list = [headers[x:x + 5] for x in range(0, len(headers), 5)]
    site_button = ReplyKeyboardMarkup(
        resize_keyboard=True,
        row_width=6,
        keyboard=[[KeyboardButton(text=x) for x in itm]
                  for itm in formatted_2d_list])
    site_button.row('Меню', "Назад")

    return hed, site_button, get_content
Esempio n. 27
0
def generate_reply_keyboard(args: ListOfButtons) -> ReplyKeyboardMarkup:
    keyboard = ReplyKeyboardMarkup(resize_keyboard=True)

    if not args.align:
        for num, button in enumerate(args.text):
            keyboard.add(KeyboardButton(text=str(button)))
    else:
        count = 0
        for row_size in args.align:
            keyboard.row(*[KeyboardButton(text=str(text)) for text in args.text[count:count + row_size]])
            count += row_size
    return keyboard
Esempio n. 28
0
async def echo(message: types.Message):
    b_fiz = KeyboardButton('математика 💣')
    b_math = KeyboardButton('физика 👋')
    greet_kb = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    greet_kb.row(b_fiz,b_math)
    if str(message.from_user.id) not in users:
        users[str(message.from_user.id)]= {"status":0}
        with open("data.json", "w") as write_file:
            json.dump(users, write_file)
        await message.answer("тут можно посмотреть все билеты по геометрии и другии теоремы \n \n выбери режим:", reply_markup=greet_kb)
    else:
        await message.answer("выбери режим:", reply_markup=greet_kb)
    print(users)
Esempio n. 29
0
async def maint(message : types.Message):
    global delay
    if delay != 0:
        datd.add_text(delay, message.text)
        delay = 0
        await bot.send_message(message.from_user.id, 'Приnal')
    else:
        if message.text[0] == '/':
            num = message.text[1:]
            inf = datd.get(num)
            await bot.send_message(message.from_user.id, inf[1])
            f = open(inf[0], "rb")
            await Bot.send_photo(self=bot, chat_id=message.from_user.id, photo=f)
            f.close()
            await bot.send_message(message.from_user.id, inf[2])
            markdown = """
                            *bold text*
                            _italic text_
                            [text](URL)
                            """

            await bot.send_message(message.from_user.id, "использованные материалы\n"+inf[5])
        elif message.text == 'физика 👋':
            await message.answer("патом")
        elif message.text == 'математика 💣':

            b_bil = KeyboardButton('геометрия 😈')
            b_new = KeyboardButton('алгебра 🤗')
            greet_kb = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
            greet_kb.row(b_bil, b_new)
            await message.answer("ДАЛЬШЕ ", reply_markup=greet_kb)
        elif message.text == 'алгебра 🤗':
            await message.answer("позже")
        elif message.text == 'геометрия 😈':

            b_bil = KeyboardButton('билеты 🤩')
            b_new = KeyboardButton('новые теоремы 🤨')
            greet_kb = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
            greet_kb.row(b_bil, b_new)
            await message.answer("ДАЛЬШЕ ", reply_markup=greet_kb)
        elif message.text == 'новые теоремы 🤨':
            await message.answer("пЫтом")
        elif message.text == 'билеты 🤩':
            ib = InlineKeyboardMarkup()
            bi = []
            for i in range(1, 18):
                but = (InlineKeyboardButton(str(i), callback_data='b'+str(i)))
                bi.append(but)
            ib.add(bi[0],bi[1],bi[2],bi[3],bi[4],bi[5],bi[6],bi[7],bi[8],bi[9],bi[10],bi[11],bi[12],bi[13],bi[14],bi[15],bi[16],)
            await message.answer("выбирай 🐸:", reply_markup=ib)
    def getGroupKeyboardMarkup(universityId) -> ReplyKeyboardMarkup:
        """
        @deprecated Currently deprecated.

        @param universityId Id for universities.

        @return Telegram keyboard markup.
        """

        markup = ReplyKeyboardMarkup(resize_keyboard=True)
        groups = DbManager.getGroupsByUniversityId(universityId)

        for group in groups:
            markup.row(group[1])

        return markup