Загружаем изображение…

🤖 Твой первый 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(...) - асинхронная отправка сообщения. Пока бот отправляет ответ тебе, он может параллельно обрабатывать сообщения от других пользователей!

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

Подписывайтесь на канал 👉 @python_of
Просмотры: 7 596
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти