Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- from aiogram import Bot, Dispatcher, types
- from aiogram.filters import Command
- from aiogram.types import Message
- TOKEN = os.getenv('TOKEN')
- dp = Dispatcher()
- # Выполнится при получении команды /start
- @dp.message(Command(commands=["start"]))
- async def command_start_handler(message: Message) -> None:
- await message.answer(f"Hello, <b>{message.from_user.full_name}!</b>")
- # Выполнится при получении команды /hash
- @dp.message(Command(commands=["hash"]))
- async def command_start_handler(message: Message, hash_id: int) -> None:
- # в hash_id получаем значение, которое сохранили в Dispatcher
- await message.answer(f"Secret token: {hash_id}")
- # Принимает все сообщения, здесь нет фильтра
- @dp.message()
- async def echo_handler(message: types.Message) -> None:
- # Некоторые сообщения не может переслать, поэтому надо проверять
- try:
- await message.send_copy(chat_id=message.chat.id)
- except TypeError:
- await message.answer("Nice try!")
- def main() -> None:
- bot = Bot(TOKEN, parse_mode="HTML")
- # Таким образом можно передавать объекты в обработчики
- # Лучше использовать с классами. Например, для работы с базой данных
- dp['hash_id'] = 123
- # Ожидаем сообщения в Telegram
- dp.run_polling(bot)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement