Advertisement
Guest User

Untitled

a guest
Jan 14th, 2023
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | Source Code | 0 0
  1. import os
  2. from aiogram import Bot, Dispatcher, types
  3. from aiogram.filters import Command
  4. from aiogram.types import Message
  5.  
  6. TOKEN = os.getenv('TOKEN')
  7. dp = Dispatcher()
  8.  
  9. # Выполнится при получении команды /start
  10. @dp.message(Command(commands=["start"]))
  11. async def command_start_handler(message: Message) -> None:
  12.     await message.answer(f"Hello, <b>{message.from_user.full_name}!</b>")
  13.  
  14. # Выполнится при получении команды /hash
  15. @dp.message(Command(commands=["hash"]))
  16. async def command_start_handler(message: Message, hash_id: int) -> None:
  17.     # в hash_id получаем значение, которое сохранили в Dispatcher
  18.     await message.answer(f"Secret token: {hash_id}")
  19.  
  20. # Принимает все сообщения, здесь нет фильтра
  21. @dp.message()
  22. async def echo_handler(message: types.Message) -> None:
  23.     # Некоторые сообщения не может переслать, поэтому надо проверять
  24.     try:
  25.         await message.send_copy(chat_id=message.chat.id)
  26.     except TypeError:
  27.         await message.answer("Nice try!")
  28.  
  29. def main() -> None:
  30.     bot = Bot(TOKEN, parse_mode="HTML")
  31.     # Таким образом можно передавать объекты в обработчики
  32.     # Лучше использовать с классами. Например, для работы с базой данных
  33.     dp['hash_id'] = 123
  34.     # Ожидаем сообщения в Telegram
  35.     dp.run_polling(bot)
  36.  
  37.  
  38. if __name__ == "__main__":
  39.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement