from aiogram import Bot, Dispatcher, types from create_bot import bot, request_url, important_message, url, token, bucket_name, username, password, endpoint_url from req import check_register from messages import get_main_menu_message from aiogram.enums import ParseMode from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, ReplyKeyboardRemove, InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo from loguru import logger def get_answer_keyboard(): button1 = InlineKeyboardButton(text='Главное меню', callback_data='main_menu') kb = [[button1]] keyboard = InlineKeyboardMarkup(inline_keyboard=kb) return keyboard def get_main_keyboard_inline(is_admin=False, ref_code=None): button1 = InlineKeyboardButton(text='👾 Кликер', web_app=WebAppInfo(url=f'{url}?referred_by={ref_code}')) button2 = InlineKeyboardButton(text='ℹ️ Инструкция', callback_data='instruction_inline') button3 = InlineKeyboardButton(text='🔥 Кто мы?', web_app=WebAppInfo(url='https://test.com')) button4 = InlineKeyboardButton(text='ТЕСТ', callback_data='test_message') kb = [[button1], [button2], [button3]] if is_admin: kb.append([button4]) keyboard = InlineKeyboardMarkup(inline_keyboard=kb) return keyboard def gen_ok_keyboard(number): kb = [[InlineKeyboardButton(text='Подтвердить ✅', callback_data=f'approve_{number}'), InlineKeyboardButton(text='Изменить 🔄', callback_data=f'edit_{number}')]] keyboard = InlineKeyboardMarkup(inline_keyboard=kb) return keyboard async def get_main_menu_answer(call: types.CallbackQuery): logger.info(f"{call.from_user.id} - @{call.from_user.username} : главное меню через инлайн кнопку") await call.message.edit_text(get_main_menu_message(), reply_markup=get_main_keyboard_inline(), parse_mode=ParseMode.MARKDOWN) async def get_main_menu_after_picture(call: types.CallbackQuery): logger.info(f"{call.from_user.id} - @{call.from_user.username} : главное меню через инлайн кнопку после картинки") await call.message.delete() await bot.send_message(call.from_user.id, get_main_menu_message(), reply_markup=get_main_keyboard_inline(), parse_mode=ParseMode.MARKDOWN) async def command_start(message : types.Message): ref_code = '' if message.text[7:].startswith('user_'): ref_code = message.text[12:] if not check_register(message.from_user.id): logger.info(f"{message.from_user.id} - @{message.from_user.username} : команда /start и не зарегистрирован") await bot.send_message(message.from_user.id, '👋', reply_markup=ReplyKeyboardRemove()) # await asyncio.sleep(3) await bot.send_message(message.from_user.id, '👑 Я - KYC Кликер бот! Зарабатывай баллы кликами, поднимайся в рейтинге и получай бонусы. Развивайся быстрее с нашей специальной системой для новичков!', reply_markup=ReplyKeyboardRemove()) # await asyncio.sleep(3) await bot.send_message(message.from_user.id, '🎁 Используй баллы в аукционе за ценные призы! Победителей много, приглашаем в увлекательную битву кликов!', reply_markup=ReplyKeyboardRemove()) # await asyncio.sleep(3) await bot.send_message(message.from_user.id, '👯 Участвуй в реферальной программе, чтобы получать % с кликов друзей и зарабатывать больше баллов для аукциона. ', reply_markup=ReplyKeyboardRemove()) # await asyncio.sleep(3) await bot.send_message(message.from_user.id, '🍀 Удачи в битве!', reply_markup=ReplyKeyboardRemove()) # await asyncio.sleep(3) else: logger.info(f"{message.from_user.id} - @{message.from_user.username} : команда /start") await bot.send_message(message.from_user.id, get_main_menu_message(), reply_markup=get_main_keyboard_inline(ref_code=ref_code), parse_mode=ParseMode.MARKDOWN)