db_kyc_project/bot/handlers/start_handler.py

62 lines
4.2 KiB
Python
Raw Normal View History

2024-10-28 00:04:35 +03:00
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)