Example #1
0
    async def generate_rate_markup():
        markup = InlineKeyboardMarkup()

        markup.row(*[
            InlineKeyboardButton(text=num, callback_data=f"rate_{num}")
            for num in range(MIN_RATE, MAX_RATE + 1)
        ])
        return markup
Example #2
0
def create_inline_keyboard(day):
	inline_keyboard = InlineKeyboardMarkup()

	btns = []
	days_ukr = ['пн', 'вт', 'ср', 'чт', 'пт']
	days_query = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday']
	for i in range(5):
		if i == day:
			this_button = InlineKeyboardButton('➡️ ' + days_ukr[i], callback_data=days_query[i])
		else:
			this_button = InlineKeyboardButton(days_ukr[i], callback_data=days_query[i])
		btns.append(this_button)
	inline_keyboard.row(*btns)

	inline_keyboard.add(InlineKeyboardButton('♻️ Змінити тиждень', callback_data='refresh'))

	return inline_keyboard
Example #3
0
async def subcategories_keyboard(category):
    CURRENT_LEVEL = 1
    markup = InlineKeyboardMarkup(row_width=2)

    subcategories = await get_subcategories(category=category)
    for subcategory in subcategories:
        button_text = f"{subcategory.subcategory_name}"
        callback_data = make_callback_data(
                                        level=CURRENT_LEVEL + 1,
                                        category=category,
                                        subcategory=subcategory.subcategory_code,
        )
        markup.insert(
            InlineKeyboardButton(text=button_text, callback_data=callback_data)
        )
        
    markup.row(
        InlineKeyboardButton(
                        text="Back",
                        callback_data=make_callback_data(level=CURRENT_LEVEL - 1)
        )
    )
    return markup
Example #4
0
async def send_access_request(user):
    keyboard = InlineKeyboardMarkup()
    accept_access_btn = InlineKeyboardButton(text='Принять',
                                             callback_data=json.dumps({
                                                 'action':
                                                 'set_access',
                                                 'user_id':
                                                 user.user_id,
                                                 'mode':
                                                 True
                                             }))
    cancel_access_btn = InlineKeyboardButton(text='Отказать',
                                             callback_data=json.dumps({
                                                 'action':
                                                 'set_access',
                                                 'user_id':
                                                 user.user_id,
                                                 'mode':
                                                 False
                                             }))
    keyboard.row(accept_access_btn, cancel_access_btn)

    access_request_msg = f'''
    ***User ID:*** {user.user_id}
    ***First name:*** {user.first_name}
    ***Last name:*** {user.last_name if user.last_name else '—'}
    ***Username:*** {'@'+user.username if user.username else '—'}
    '''
    msg_info = await bot.send_message(ACCESS_CONTROL_CHANNEL_ID,
                                      access_request_msg,
                                      reply_markup=keyboard,
                                      parse_mode='Markdown')

    if user.access_msg_id is not None:
        await bot.delete_message(ACCESS_CONTROL_CHANNEL_ID, user.access_msg_id)
    user.access_msg_id = msg_info['message_id']
    user.save()