Пишем Telegram ботов

Пишем Telegram ботов

О Telegram ботах знают пожалуй все.

О Telegram ботах знают все. Благодаря ним вы сможете реализовать интерфейс для ваших скриптов или скамить через них людей(соц.инженерия). Именно поэтому очень важно уметь быстро реализовывать ботов для телеги.

❌Перед началом❌
Эта статья предназначена для людей с небольшим опытом программирования на языке Python 3.

Устанавливаем библиотеки

Для написания tg ботов на Python существует много разных библиотек, самой популярной и рекомендуемой на данный момент является aiogram.

Установка на Linux

pip3 install aiogram

Установка на Windows

pip install aiogram

Создаём бота

Перед написанием бота нам нужно создать самого бота в телеге и получить API токен к нему. Для этого пишем официальному боту - @BotFather. Повторяйте всё как на скриншоте ниже, только заменяйте название и ссылку на бота на свои.

Процесс создания бота и получения API токена

В итоге в сообщении у вас будет API токен для бота(на скриншоте он замазан). Этот токен надо хранить в безопасном месте, так как если его кто - то получит, то он сможет выполнять API команды от имени вашего бота (например писать сообщения).

Echo бот

Начнём с простого, возьмём следующий код (ссылка на код):

from aiogram import Bot, Dispatcher, executor, types

API_TOKEN = 'BOT TOKEN HERE'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("This is a very simple telegram bot")
@dp.message_handler()
async def echo(message: types.Message):
await message.answer(message.text)
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)

Вместо BOT TOKEN HERE подставляете свой токен. Запускаем скрипт и пишем боту.
На команду /start бот ответит "This is a very simple telegram bot". А на любые другие сообщения просто ответит их содержанием.

Это самая простая реализация. Декоратор @dp.message_handler - это хэндлер для сообщения, через них вы можете добавлять сколько угодно обработчиков команд, текстовых сообщений, картинок, аудио и всего остального. Подробнее конечно - же можно прочитать в доках.

Внутри хэндлера вы можете выполнять любой код(например, работать с базой данных).
Aiogram построен на асинхронной логике, это важно учитывать, так как при правильном написании асинхронного кода, вы сможете повысить производительность своего бота.

Дальнейшие шаги

Внимательно изучите официальную документацию по aiogram.
Скоро будет опубликована статья о загрузке бота на бесплатный хостинг, чтобы он работал 24/7.
Так же будет опубликована статья о том, как интегрировать оплату через Qiwi, без использования встроенной в telegram системы оплаты (к ней нет доверия).


Report Page