Бот в telegram. Как сэкономить время на разработку, если пишешь впервые

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

Среда разработки Pycharm для mac
Среда разработки Pycharm для mac

Привет, читатель.

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

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

Пишу надеясь на то, что они помогут таким же как я, кто впервые хочет сделать своего бота в telegram, но не знает с чего начать. Здесь нет детальных действий. Как говорится, главное задать вектор.

  1. @Botfather. Зайди к этому боту в telegram. С помощью него создай своего бота. Там будет только мета (т.е. общая) информация: название, описание, фото, команды. Ах да, Botfather даст тебе токен твоего бота. Токен - это закодированная строка из цифр и букв. С помощью него происходит все управление ботом. Не говори никому токен и не пиши его нигде в открытом доступе.
  2. Pycharm. Среда разработки. В ней нужно писать код своего бота. По мне, вещь удобная и позволяет напрямую устанавливать пакеты (см.п.3).
  3. Почти все уже написано до тебя. Если ты хочешь что-то написать, тебе стоит лишь разбить это на логические части. Есть куча разных библиотек, которые устанавливаются либо через Pycharm(привет, п.2), либо через системную консоль. Например, стоит только установить бибилиотеку «yadisk» и 2мя командами можно отправить файл через бот напрямую из вашего Яндекс диска. Благодаря этому, бота telegram может написать даже человек, совсем далекий от программирования.
  4. Табуляция, а не «;». Если будешь писать на Python учти, что в нем логически выделяют конструкции не «;» а пробелы и табуляция (ох, сколько же много времени у меня ушло, чтобы привыкнуть и не делать совсем простых ошибок).
  5. Ngrok. Запускать рабочего бота можно и с локального компьютера. Для этого нужно сделать «туннель» (фиктивный сайт, который перенаправляет на твою локальную машину). Погугли «ngrok». Этот вариант бесплатен, но не удобен — нужен бесперебойно работающий и подключенный к сети компьютер. Походит скорее для тестирования нового кода.
  6. PythonAnywhere. Если хочешь сделать все красиво и разместить код на удаленном сервере — PythonAnywhere твой выбор. Там все довольно просто. Можно сделать все бесплатно. Хочешь бОльшую пропускную способность/больше места на диске/свою базу данных, тогда нужно будет заплатить. Цены (как по мне) очень адекватные. Тут есть консоль, так что готовые библиотеки устанавливаются точно также, как и в п.3.
  7. MySQL. Сразу делай свое хранилище и собирай статистику о пользователях и их действиях. Если выберешь сервер как и я в п.6, то будет доступна БД MySQL. Это пригодится для отправки сообщений тем, кто уже пользовался ботом, отслеживания их действий, предпочтений. Поможет тебе сделать бота лучше и удобнее для пользователей. Не представляю как без этого вообще можно управлять ботом.

Удачи!

44
22 комментария

Почему VC постепенно превращается в Хабр?

2

Это что, сейчас хабр такой? Божечки

4

Потому, что Хабр уже не торт? )

Не уловлю интонации. Не писал ничего на хабре. Да и на vc до этого тоже. Предугадываю следующий ответ "лучше бы и не писал", так?

Нынче с таким набором не берут на Хабр, поэтому вы выкладываете сюда?

2

С таким набором никуда не берут

Python с каких-то пор стал дефолтным языком программирования? Скрипт-киддис атакуэ?

2