Начиная изучать Python я захотел написать своего Telegram бота. Начал искать статьи по написаю бота, но находил только для чайников, работа тех ботов ограничивалась только отправкой сообщений или эхо-бот. Теперь я уже хорошо знаю Python. И хочу рассказать Вам, как написать своего бота на Python!
Часть №1. Получения токена бота.
Перед тем как начать писать бота, нам нужно получить токен бота (без него бот не будет работать). Нужно зайти в Telegram и написать в поиске @BotFather. Далее пишем ему команды по очереди: /start, /newbot, [имя вашего бота], [никнейм бота обязательно с окончанием ( _bot или Bot )]. Готово! Если вы всё сделали правильно, то бота должен вам отправить сообщение:
Done! Congratulations on your new bot. You will find it at t.me/[никнейм бота] . You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
[Ваш токен!]
Keep your token secure and store it safely, it can be used by anyone to control your bot.
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Всё, готово! Мы получили токен!
Часть №2. Установка необходимых библиотек.
Перед началом нужно установить некоторые библиотеки и сам Python.
Если у Вас не установлен Python, то делайте следующие:
Если у Вас Linux, то в командной строке напишите: sudo apt-get install python python-pip
Если Mac или Windows, то скачайте Python с официального сайта.
Потом пишем в консоль: pip install PyTelegramBotAPI
Всё готово! Python и библиотеку мы установили!
Часть №3. Первый код.
Теперь переходим в любой редактор кода или Ide и начинаем кодить!
Сначала откроем новую папку, которую мы создали перед началом и создаём новый файл. Называем его config.py и пишем в него:
token = " [токен полученный от бота] "
Сохраняем!
Далее создаём файл bot.py и записываем:
import telebot
from config import token
bot = telebot.TeleBot(token, parse_mode=None)
@bot.message_handler(commands=['start'])
def wellcome(message):
bot.send_message(message.from_user.id, "Привет! Чем могу помочь?")
Сохраняем! Пояснение: 1, 2 строка импорт необходимых модулей, 3 - для работы бота и функций, 4 - обработчик сообщений при отправке команды start, 5 - функция, 6 - отправка сообщения.
Добавим функцию при отправке обычного сообщения! Допишем в файл:
@bot.message_handler(content_types=['text'])
def chat_message(message):
if message.text == 'Привет!':
bot.send_message(message.from_user.id, "Привет!")
else:
bot.send_message(message.from_user.id, "Не понял команду!")
Сохраняем! Пояснение: 1 - обработчик сообщения, если это текст, 2 - функция, 3,5 - ветвление, 4,6 - отправка сообщения.
Осталось добавить 1 строку и всё будет работать! Допишем:
bot.polling(none_stop=True, interval=0)
Всё готово!
Для запуска бота пропишем в консоль:
python bot.py
Если запустить бота, то он будет работать! Если написать /start, то бот ответит, если написать любой текст, то бот ответит!
Это 1 часть! Их будет несколько, потом мы добавим кнопки, команды и тд.
Если есть вопросы - пишите в комментариях! Удачи!