import asyncio import logging import sys import sqlite3 import time from os import getenv from aiogram import Bot, Dispatcher, html from aiogram.client.default import DefaultBotProperties from aiogram.enums import ParseMode from aiogram.filters import CommandStart, Command from aiogram.types import Message TOKEN = getenv("BOT_TOKEN") dp = Dispatcher() con = sqlite3.connect("/data/penis.db") cur = con.cursor() @dp.message(CommandStart()) async def command_start_handler(message: Message) -> None: await message.answer(f"Hello, {html.bold(message.from_user.full_name)}!") @dp.message(Command("penis")) async def handler(message: Message) -> None: res = cur.execute(f"SELECT user FROM penis WHERE user={message.from_user.id}").fetchone() if res == None: await message.answer(f"У вас пенисов: {html.bold(0)}") else: penis = cur.execute(f"SELECT count FROM penis WHERE user={message.from_user.id}").fetchone() await message.answer(f"У вас пенисов: {html.bold(penis[0])}") @dp.message(Command("ktlo")) async def handler(message: Message) -> None: for _ in range(5): await message.answer("@ktlo0 @xydgiz") time.sleep(0.5) @dp.message() async def echo_handler(message: Message) -> None: if message.text == "пенис" or message.text == "Пенис": res = cur.execute(f"SELECT user FROM penis WHERE user={message.from_user.id}").fetchone() if res == None: cur.execute(f"INSERT INTO penis VALUES ({message.from_user.id}, 0)") cur.execute(f"UPDATE penis SET count=count+1 WHERE user={message.from_user.id}") con.commit() logging.info("Penis detected!") async def main() -> None: cur.execute("CREATE TABLE IF NOT EXISTS penis(user TEXT, count INT)") con.commit() bot = Bot(token=TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML)) await dp.start_polling(bot) if __name__ == "__main__": logging.basicConfig(level=logging.INFO, stream=sys.stdout) asyncio.run(main())