Как делать ботов на telebot`е: своеобразный гайд от меня.

Здравствуй, мир! Я думаю каждый хотел сделать своего Telegram-бота. Ну хотя бы просто так. Так давайте я вам покажу, расскажу, и научу делать Telegram ботов

1. Установка компонентов.

Внимание: мы будем делать бота на Python. Поэтому если у вас нет Python - идем на python.org/downloads и скачиваем его. А поподробней поищите в Интернете.

Далее - Visual Studio Code. Его качаем с официального сайта.

А вот теперь подошла череда скачать библиотеку для самих ботов - pytelegrambotapi. Открываем терминал или powershell, и пишем (для powershell):

pip install pytelegrambotapi

Для bash:

pip3 install pytelegrambotapi

Ну и наконец-таки заключительный этап. Пишем в поиске Telegram @BotFather, нажимаем Старт, пишем /newbot. Сначала вводим название бота. А после ссылку (в конце обязательно должно стоять bot или Bot). Готово! Копируем токен (надеюсь найдете), и вперед писать код!

2. Написание кода

Итак, выложу код сразу:

import telebot from telebot import * token = "тут ваш токен" bot = Telebot(token) @bot.message_handler(commands = ["start"]) def start_bot(mess): bot.reply_to(mess, "Привет") bot.send_message(mess, "Еще раз привет")

Объяснение:

Сначала мы импортируем библиотеку:

import telebot from telebot import *

Далее мы записываем тот самый токен из BotFather в соответствующую переменную token:

token = "тут ваш токен"

Дальше мы создаем сам объект бота bot (а если быть точнее создаем объект класса Telebot)

bot = Telebot(token)

Дальше мы объявляем функцию start_bot(), которая в ответ на команду /start от пользователя пишет ему "Привет" и "Еще раз привет"

Но внимание: функция обязательно должна быть с декоратором. Кстати там же мы указываем как на какую команду отвечать боту

@bot.message_handler(commands = ["start"]) def start_bot(mess): bot.reply_to(mess, "Привет") bot.send_message(mess, "Еще раз привет")

А вот теперь о разнице между bot.reply_to() и bot.send_message()

reply_to() или send_message()?

Зависит от ваших задач. Если задача ответить, используем reply_to()

А если задача просто написать, используем send_message()

Итог по работе

Мы сегодня:

  • сделали бота
  • добавили функцию отвечать на команду пользователя

Но это не все. Если надо большего, пишите в комментарии

2 комментария

А как нейросеть туда подключить?)

Ответить

Ой, не знаю. Возможно через протокол HTTPS они (прога и ИИ) будут взаимодействовать. А так не знаю

Ответить