Telegram-бот с монетизацией: практическое руководство для тех, кто не умеет программировать
Telegram-бот с монетизацией: практическое руководство для тех, кто не умеет программировать

Полная версия

Telegram-бот с монетизацией: практическое руководство для тех, кто не умеет программировать

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 2

new_streak = row["streak"] + 1 if row["last_done"] == yesterday else 1

conn.execute(

"UPDATE habits SET streak = ?, last_done = ? WHERE id = ?",

(new_streak, today, habit_id),

)

return new_streak, False

Три случая, которые обрабатывает эта функция:

Уже отмечено сегодня — ничего не меняем, сообщаем об этом. Без этой проверки пользователь накрутит стрик до сотни за минуту, нажав кнопку сто раз.

Отмечено вчера — стрик продолжается, увеличиваем на единицу.

Отмечено давно или никогда — стрик прерван, начинаем заново с единицы.

Заметьте: в запросах везде проверяется не только id, но и user_id. Это защита от ситуации, когда один пользователь пытается изменить чужие данные, подставив чужой идентификатор.

Обработчики: что бот отвечает

Файл handlers.py. Каждая функция обрабатывает одно действие пользователя.

from aiogram import Router

from aiogram.filters import Command

from aiogram.types import Message

import db

router = Router()

@router.message(Command("start"))

async def cmd_start(message: Message):

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Конец ознакомительного фрагмента
Купить и скачать всю книгу
На страницу:
2 из 2