Skip to content

Instantly share code, notes, and snippets.

@Aqendo
Created March 9, 2024 16:33
Show Gist options
  • Save Aqendo/03832e88e3d3c89f6e0d2d12dd4b897b to your computer and use it in GitHub Desktop.
Save Aqendo/03832e88e3d3c89f6e0d2d12dd4b897b to your computer and use it in GitHub Desktop.
Бот для анонимных сообщений Кириллу Зорину
import asyncio
import logging
import sys
import random
from aiogram import Bot, Dispatcher, types
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart
from aiogram.types import Message
TOKEN = "7:IA"
dp = Dispatcher()
def get_answer(message_text) -> str:
# TODO: Implement conversation with mr. Zorin
if len(message_text) > 5 and "?" in message_text:
return random.choice(["Без комментариев", "Читайте условие", "Надо было слушать"])
return "Без комментариев"
@dp.message(CommandStart())
async def command_start_handler(message: Message) -> None:
await message.answer(f"Задавай анонимные вопрос кириллу зорину!")
@dp.message()
async def zorin_handler(message: types.Message) -> None:
if not message.text: return
msg = await message.reply("Вопрос отослан! Ожидайте ответа!")
await asyncio.sleep(15)
try:
await msg.delete()
except:
pass
answer = "Получен ответ!\n\n<b>" + get_answer(message.text) + "</b>"
try:
return message.reply(answer, parse_mode="HTML")
except:
return message.answer(answer, parse_mode="HTML")
async def main() -> None:
bot = Bot(TOKEN, parse_mode=ParseMode.HTML)
await dp.start_polling(bot)
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
asyncio.run(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment