TGViewer
Python академия Python академия @pythonofff · 7.14K subscribers
Post #3498 1.15K
🤖 Твой первый Telegram-бот на aiogram

Мы уже выяснили, что асинхронность это круто. А где она используется чаще всего? Конечно, в Telegram-ботах!

Сегодня напишем "Эхо-бота" - это как "Hello World" в мире ботов. Он будет просто повторять всё, что мы ему напишем.

🛠 Подготовка:

1. Идем к «отцу всех ботов» - @BotFather.
2. Пишем /newbot, даем имя и юзернейм.
3. Получаем API TOKEN (длинная строка символов).
4. Устанавливаем библиотеку: pip install aiogram

💻 Код (всего 20 строк):


import asyncio
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters import CommandStart

# Вставь сюда токен от BotFather
TOKEN = "ВАШ_ТОКЕН_ЗДЕСЬ"

# Включаем логирование, чтобы видеть ошибки в консоли
logging.basicConfig(level=logging.INFO)

# Создаем объекты бота и диспетчера
bot = Bot(token=TOKEN)
dp = Dispatcher()

# 1. Обработчик команды /start
@dp.message(CommandStart())
async def cmd_start(message: types.Message):
await message.answer("Привет! Я твой первый бот на aiogram 🚀")

# 2. Обработчик любого текста (Эхо)
@dp.message()
async def echo_handler(message: types.Message):
# Метод .answer() отправляет ответ в тот же чат
await message.answer(f"Ты написал: {message.text}")

# Запуск процесса опроса (polling)
async def main():
await dp.start_polling(bot)

if __name__ == "__main__":
asyncio.run(main())



🧩 Разбор магии:

🟢Dispatcher (dp) - это мозг бота. Он получает сообщения от Telegram и решает, какой функции их передать.
🟢@dp.message(...) - это декораторы. Они "фильтруют" сообщения.
🟢await message.answer(...) - асинхронная отправка сообщения. Пока бот отправляет ответ тебе, он может параллельно обрабатывать сообщения от других пользователей!

Скопируй, вставь токен и запусти. Поздравляю, ты только что создал своего бота! 🎉

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
  • 👍 4
  • ❤ 3
  • 🤔 1
More from @pythonofff
  1. Sep 24, 2026Анонимные функции Часто функции нужны только один раз, причем короткие. И избыточно создав…
  2. Sep 23, 2026Бесконечные списки Мы уже рассказывали про важность копирования списков. Но именно из-за т…
  3. Sep 21, 2026Заглушки Для создания пустых функций и классов есть сразу два способа соответствующих прав…
  4. Sep 20, 2026Параметры функции *args, **kwargs Думаю, многие хоть раз видели такую запись, сейчас мы уз…
  5. Sep 18, 2026В одну строчку Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, ма…
  6. Sep 16, 2026Распаковка Неудобно каждый раз для вывода объединять строки через join() или тем более как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →