Python: пример простого Telegram бота

Как создать телеграм бота и получить его API Токен

Первое, что надо сделать, это открыть Telegram, через поиск найти @BotFather и нажать «Start». Это отец всех ботов в телеграмме, через него вы можете создать свой новый бот ( используя команду /newbot ) и редактировать ранее созданные.Python: пример простого Telegram бота

После создания бота, вам будет выдан его токен, запишите его, он понадобится далее при создании кода бота в Python.

Создание телеграм бота используя aiogram

На середину 2022 года, библиотека aiogram для Python является самой рекомендуемой для создания телеграмм ботов, потому что она активно развивается, поддерживает актуальные изменения в telegram и стабильно работает. Для асинхронного запуска также будем использовать библиотеку asyncio.

import asyncio
import logging
from aiogram import Bot, Dispatcher, md, types

# Логгер
logging.basicConfig(level=logging.INFO)

# Bot token
BOT_TOKEN = "вставьте_сюда_из_BotFather"


# Обработчик для команды /start
async def start_handler(message: types.Message):
    await message.answer(
        f"Привет, {message.from_user.get_mention(as_html=True)} !",
        parse_mode=types.ParseMode.HTML,
    )


# Обработчик для команд /about, /help, /?
async def about_handler(message: types.Message):
    logging.info(message.text)
    await message.answer(md.text(
            md.bold('Info about commands:\n'),
            md.text('🔸', md.bold('/cs'), md.code(' - Create Story')),
            md.text('🔸', md.bold('/cb'), md.code(' - Create Bug')),
            sep='\n',
        ),
        parse_mode=types.ParseMode.MARKDOWN_V2,
    )


# Точка входа в приложение (инициализация бота и регистрация обработчиков)
async def main():
    bot = Bot(token=BOT_TOKEN)
    try:
        dp = Dispatcher(bot=bot)
        dp.register_message_handler(start_handler, commands=["start"], state="*")
        dp.register_message_handler(about_handler, commands=["about", "help", "?"], state="*")
        await dp.start_polling()
    finally:
        await bot.close()


asyncio.run(main())

 

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями: