Как создать своего Telegram-бота на python за 20 минут быстро и легко
Сегодня я расскажу вам, как можно быстро создать Telegram-бота! Для этого необходимо иметь компьютер/ноутбук с установленным Python и любой удобной для вас IDE. Также потребуется аккаунт в Telegram.
⚠️ Перед продолжением сразу предупреждаю, что в посте присутствует реклама
Итак, для начала давайте первым делом научимся создавать бота в Telegram. Для этого на потребуется BotFather. Заходим в Telegram и нажимаем на значок лупы.
В поиск вбиваем BotFather и нажимаем на бота BotFather, напротив которого есть специальная галочка, говорящая о том, что бот официальный. После запуска введите команду /newbot, которая и активирует функцию создания бота в Telegram.
Теперь давайте придумаем имя боту. Просто введите его в формате следующего сообщения в ответ боту. Далее нас попросят придумать username для бота — специальное идентификационное публичное имя, по которому Вашего бота смогут найти и запустить другие люди. Оно обязательно должно оканчиваться на _bot и быть уникальным — если бот выдаёт ошибку, это значит, что кто-то уже занял такое имя и по нему доступен другой бот. Также не придумывайте слишком длинные имена — это также приведёт к ошибке!
Итак, публичное имя создано! Дальше идёт длинное сообщение — в этом сообщении присутствует ссылка на бота (можно открыть и запустить уже прямо сейчас) и токен бота. Токен нужно немедленно скопировать! Токен — это, своего рода, пароль к боту — его нужно хранить в секрете и никому не показывать!
После этого бот готов, но чего-то не хватает! Давайте сделаем следующее:
Дадим боту описание
Сделаем приветствие (description)
Сделаем картинку боту для красоты
Сделаем description-картинку
Настроим команды
Напишем код на Python и начнём общение с ботом
Отправьте в BotFather команду /setabouttext — настроить описание. После этого опишите бота максимально коротко, оставляя только главную информацию — описание должно быть не более 120 символов!
После этого давайте сделаем приветствие — отправьте в BotFather команду /setdescription — настроить дискрипшн. На дискрипшн ограничений нет, но лучше, чтобы оно не превышало 300 символов — в случае превышения картинка к описанию и само описание будут обрезаны.
Далее давайте установим картинку описания. Это можно сделать командой /mybots. Затем выберите своего бота из списка, нажмите «Edit Bot», затем «Edit Description Picture». После этого пришлите картинку 640x360 пикселей — допускается фото или GIF.
Сама же картинка бота добавляется командой /setuserpic. После этого пришлите нужное фото боту — оно пойдёт в качестве его фото профиля. Картинки можно сгенерировать в этом боте — там даётся несколько бесплатных картинок — как раз хватит для нашего бота (реклама).
Теперь давайте настроим команды. Это можно сделать командой /setcommands. Бот попросит Вас прислать команды в таком формате:
one - описание
two - описание
...
На самом деле вместо one или two можно написать совершенно любую команду — это должно быть одно короткое слово на английском языке, к которому добавится /, и команда добавится в меню бота. Я напишу команды вот так:
start - Перезапуск бота
random - сгенерировать рандомное число
У меня бот будет предназначен для выбора случайного числа от 1 до 10, поэтому я и решил сделать ему команду /random.
Теперь давайте научим бота отвечать на сообщения — запрограммируем его! Для этого нам понадобится компьютер/ноутбук с установленным Python и удобной для Вас IDE. В IDE перейдём во вкладку terminal и напишем вот такую команду:
pip install PyTelegramBotAPI
Эта команда установит библиотеку PyTelegramBotAPI, в которой есть модуль telebot — с ним мы и будем работать.
В IDE создаём новый файл и вставляем следующий код:
import telebot
import random
TOKEN = '123456789:ABCdefGhIJKlmNoPQRsTuvWXyz' # Замените на реальный токен из BotFather (ранее мы копировали его)
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Добро пожаловать в Вашего первого бота!")
@bot.message_handler(commands=['random'])
def send_random_number(message):
number = random.randint(1, 10)
bot.reply_to(message, f"Случайное число: {number}")
bot.polling()
После запуска данного кода в Вашей IDE бот заработает! Вы можете изменить код под свои задачи, а если не хватает навыков программирования, можно изучить базовую документацию Python и PyTelegramBotAPI.
Теперь очень важный вопрос: а как сделать, чтобы бот работал без запуска через IDE? На самом деле, это популярный вопрос для новичков. Для запуска бота через облако нужны специальные сервисы — хостинги. На них можно запустить бота, и он будет работать 24/7. Выбор подходящего сервиса и тарифа зависит от задачи Вашего бота — если бот простой, то и хостинг найти будет легче, и тариф в большинстве случаев будет бесплатный.
Спасибо за просмотр!



















