/
lucifer39
/
python_Bot
Обзор
Документация
Войти
/
lucifer39
/
python_Bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
handlers/keybord_comand.py
69 строк
3 KB
Ilya Kuprin
поменял структуру приложения
08 май 2025, 14:23
08 май 2025, 14:23
0ca2f2f
Код
Авторство
О чём код?
import aiosqlite import logging from environs import Env from handlers.keybord import create_main_keyboard from datetime import datetime from database.quantity_link_add_today import quantity_link_add_today logger = logging.getLogger(__name__) env = Env() env.read_env() DB_NAME = env.str('DB_NAME') async def one_tick_add(bot): @bot.message_handler( func=lambda message: 'Добавить +1 тик 💸' in message.text) async def null_link_add(message): link = message.text telegram_id = message.chat.id keyboard = create_main_keyboard() async with aiosqlite.connect(DB_NAME) as db: from database.null_link_db_add import null_link_db_add async with db.cursor() as cursor: await cursor.execute('SELECT id FROM users WHERE telegram_id = ?', (telegram_id,)) user = await cursor.fetchone() if user: user_id = user[0] result_add_link = await null_link_db_add(db, user_id, link) if result_add_link: await bot.reply_to(message, f'✅ +1 тик засчитан.', reply_markup=keyboard) async def quantity_link(bot): @bot.message_handler( func=lambda message: 'Количество ссылок за сегодня' in message.text) async def quantity_link_today(message): timestamp = message.json['date'] date_obj = datetime.fromtimestamp(timestamp) # Преобразуем в datetime date_today = date_obj.strftime('%Y-%m-%d') # Форматируем в '2023-01-01' telegram_id = message.chat.id keyboard = create_main_keyboard() async with aiosqlite.connect(DB_NAME) as db: async with db.cursor() as cursor: await cursor.execute( 'SELECT id FROM users WHERE telegram_id = ?', (telegram_id,)) user = await cursor.fetchone() if user: user_id = user[0] result_quantity_link = await quantity_link_add_today(db, user_id, date_today) if 0 < result_quantity_link < 5: await bot.reply_to(message, f'Количество решённых тикетов равно: {result_quantity_link} 🤏', reply_markup=keyboard) elif 5 <= result_quantity_link < 10: await bot.reply_to(message, f'Количество решённых тикетов равно: {result_quantity_link} 👍', reply_markup=keyboard) elif result_quantity_link >= 10: await bot.reply_to(message, f'Количество решённых тикетов равно: {result_quantity_link} 🫵💪', reply_markup=keyboard) else: await bot.reply_to(message, f'чёт у тебя их совсем нет 🫠', reply_markup=keyboard) else: await bot.reply_to(message, "Пользователь не найден", reply_markup=keyboard)