Бот в telegram. Как сэкономить время на разработку, если пишешь впервые
Осознание после проведения ревью. Несколько пунктов, на которые ушло больше всего времени.
Привет, читатель.
Некоторое время назад я задался целью первый раз в жизни написать собственного telegram бота (по иронии судьбы, как раз после того, как его заблокировали и хайп насчет этого угас). Бота я написал, он функционирует.
Зачастую мы понимаем свои ошибки уже только после того, как их совершили и потратили на них свое драгоценное время. По окончанию разработки я сделал ревью своих действий и вынес для себя несколько пунктов, на которые потратил основную часть времени. Знай я их заранее, все закончилось бы намного быстрее.
Пишу надеясь на то, что они помогут таким же как я, кто впервые хочет сделать своего бота в telegram, но не знает с чего начать. Здесь нет детальных действий. Как говорится, главное задать вектор.
- @Botfather. Зайди к этому боту в telegram. С помощью него создай своего бота. Там будет только мета (т.е. общая) информация: название, описание, фото, команды. Ах да, Botfather даст тебе токен твоего бота. Токен - это закодированная строка из цифр и букв. С помощью него происходит все управление ботом. Не говори никому токен и не пиши его нигде в открытом доступе.
- Pycharm. Среда разработки. В ней нужно писать код своего бота. По мне, вещь удобная и позволяет напрямую устанавливать пакеты (см.п.3).
- Почти все уже написано до тебя. Если ты хочешь что-то написать, тебе стоит лишь разбить это на логические части. Есть куча разных библиотек, которые устанавливаются либо через Pycharm(привет, п.2), либо через системную консоль. Например, стоит только установить бибилиотеку «yadisk» и 2мя командами можно отправить файл через бот напрямую из вашего Яндекс диска. Благодаря этому, бота telegram может написать даже человек, совсем далекий от программирования.
- Табуляция, а не «;». Если будешь писать на Python учти, что в нем логически выделяют конструкции не «;» а пробелы и табуляция (ох, сколько же много времени у меня ушло, чтобы привыкнуть и не делать совсем простых ошибок).
- Ngrok. Запускать рабочего бота можно и с локального компьютера. Для этого нужно сделать «туннель» (фиктивный сайт, который перенаправляет на твою локальную машину). Погугли «ngrok». Этот вариант бесплатен, но не удобен — нужен бесперебойно работающий и подключенный к сети компьютер. Походит скорее для тестирования нового кода.
- PythonAnywhere. Если хочешь сделать все красиво и разместить код на удаленном сервере — PythonAnywhere твой выбор. Там все довольно просто. Можно сделать все бесплатно. Хочешь бОльшую пропускную способность/больше места на диске/свою базу данных, тогда нужно будет заплатить. Цены (как по мне) очень адекватные. Тут есть консоль, так что готовые библиотеки устанавливаются точно также, как и в п.3.
- MySQL. Сразу делай свое хранилище и собирай статистику о пользователях и их действиях. Если выберешь сервер как и я в п.6, то будет доступна БД MySQL. Это пригодится для отправки сообщений тем, кто уже пользовался ботом, отслеживания их действий, предпочтений. Поможет тебе сделать бота лучше и удобнее для пользователей. Не представляю как без этого вообще можно управлять ботом.
Удачи!
Почему VC постепенно превращается в Хабр?
Это что, сейчас хабр такой? Божечки
Потому, что Хабр уже не торт? )
Не уловлю интонации. Не писал ничего на хабре. Да и на vc до этого тоже. Предугадываю следующий ответ "лучше бы и не писал", так?
Нынче с таким набором не берут на Хабр, поэтому вы выкладываете сюда?
С таким набором никуда не берут
Python с каких-то пор стал дефолтным языком программирования? Скрипт-киддис атакуэ?
А вы бы писали бота для телеграмма, что бы вы взяли?
Бейсик?
Надеюсь, оригинальный? А запустим на 8080
8080 - это вчерашний день. х86 будет в самый раз.
Вы не уловили сарказм, Бейсик это вчерашний день
Серьезно? XD
JS?
Что бы не начинать священную войну, скажу что каждый извращается как он хочет
Не - просто много на чм ботов можно настругать. Node/js и python вполне ок, кто в них шарит. Что не так? Ms еще вроде C# предлагала в рамках Bot Framework вместе с нодой
Golang number one
На Хабре за обилие повелительного наклонения и вот этого "здесь нет детальных действий" сразу накидали бы кучу минусов в карму.
А на vc, глядишь, пару лайков поставят из жалости к автору.
Хабр, мягко говоря, не идеален, да
Комментарий удален модератором
Зачем писать код? Если можно воспользоваться конструктором , где есть функционал в разы превосходящий то, что делают 90% людей сейчас на рынке.
И тут должна быть ссылка и перечень уникальных возможностей конструктора вместе с кошельком автора?
Да, проще. Но в любых конструкторах много ограничений. Даже в конструкторе сайтов на wix, например, недавно сделали удобную обертку для добавления личного кода.