Боты на змее. Часть 0 Теоретическая

Боты на змее. Часть 0 Теоретическая

ПризракOctober 12, 2018


Введение

За ботами будущее.

В этом пре-уроке объясню чо да как будет, что нужно знать, теория про ботов и тд.

Что нужно знать

Ботов будем писать на языке Python (у меня версия 3.5.2). С библиотекой для работы с API телеграма - telebot.

Если вы вообще ни разу не программировали на питоне, то советую сначала начать с него. Не нужно становиться супер разрабом, а просто понять самые основные моменты программирования и работы с питоном, потому что я не буду останавливаться на этих мелочах.

Выучить общий синтаксис Python - задача на один вечер. (с) imsOrry

Если такая тема зайдёт, потом сделаю полный курс для самых маленьких.

Telebot ставится таким образом в cmd:

pip install pyTelegramBotAPI

После этого в вашей IDE ( у меня PyCharm ) вы можете подключать эту библиотеку с помощью:

import telebot

Теория про ботов

Что такое боты в телеграм? По факту это аккаунты, которые выступают в роли интерфейса для нашего кода запущенного на сервере. Ну то есть бывают exe файлы программы, это тоже интерфейсы для взаимодействия с нашим кодом. Боты телеграм выполняют ту же функцию, только в самом меседжере.

Сделаны они для автоматической обработки сообщений. То есть юзер будет взаимодействовать с ботом с помощью команд/текста.

А мы, как админы, будем взаимодействовать с ним с помощью запросов к серверам телеграмма по HTTPS.

Как создать бота

Думаю многие и так уже знают, но расскажу.

Заходим к @botfather (да, отсылочка к Крёстному Отцу ), активируем его и пишем команду /newbot.

Если вы не гений английского, то теперь ему надо отправить имя бота, которое будет показываться в левой менюшке, где все ваши чаты, каналы и тд.

После этого вам нужно придумать Username бота, с помощью него можно будет найти бота в поиске или написать ему. НО, оно должно заканчиваться на bot.

На botfather не смотрите, это офф бот, для них правила не писаны.

Всё, после этого вы получите API ключ, который надо хранить в секрете. У кого есть API ключ от бота, тот и прав. Тот может запускать свой код в бота.

Есть еще 2 поля для настройки бота. Это About и Description.

About видно на картинке, а Description это то, что вы видите при первом открытии бота:

Как работает бот

Если вашему боту что-то щас отправить, ничего не произойдет. Чтобы начать его программировать, мы должны получать ответы бота.

Для этого есть два  ̶с̶т̶у̶л̶а̶ способа, постоянное обновление и вебхук.

Используя вебхук, сервера будут сами пересылать нам запросы отправленные боту. Такой способ проще и лучше для серверов телеграма, но требует сервер и подписанный ssl-сертификат, поэтому мы будем пользоваться методом polling, который каждый промежуток времени проверяет сервера телеграм на запросы в бота.

Управление ботом происходит с помощью HTTPS запросов по типу

https://api.telegram.org/bot<token>/METHOD_NAME

Например вместо METHOD_NAME мы можем поставить send_message(аргументы) чтобы бот отправил сообщение.

Но лень - двигатель прогресса, поэтому чтобы люди не писали каждый раз эти муторные ссылки, создали библиотеки для работы с API на разные языки программирования. В том числе и на python.

Все методы вы можете посмотреть на https://core.telegram.org/bots/api

Сохраните эту ссылку, вы часто будете посещать этот сайт)

Часть 1 -