Телеграм-боты
2025 Apr 07
See all posts
Телеграм-боты
Мне надоело рисовать обратные билеты руками. В общем-то работы
немного, но для этого надо ноут открыть, ноут достать, запустить пару
приложений, исправить пару предложений. И все это довольно скучная
рутина. Поэтому захотелось процесс как-то автоматизировать. И
оказалось показалось, что проще всего это сделать при помощи
телеграм-бота. И пока я помню, что мне вообще для этого понадобилось -
набросаю список всяких нужностей.
Курсы
11 уроков, но уже на пятом создается примитивненький бот. Обучение на
примере библиотеки pyTelegramBotAPI (есть один урок про aiogram, но там
старая версия, поэтому смотреть его вообще смысла нет). Объясняет все по
делу, без воды. Предполагается, что смотрящий знает Python, но не деле
как раз делая бота можно параллельно и изучать его. Отдельно смотреть
курс про питона скучно, потому что там в начале много вводных, а
приятного результата, который можно кому-то показать - нет. Ведь не
будешь хвастаться программой, которая считает периметр треугольника...
Но тем не менее параллельно смотреть курс по Python стоит, иначе
многие моменты не очень понятны.
21 урок от того же чувака. Мне нравится его подача. Поэтому вот. Но
посмотрела только первый урок пока и перешла на немного другой
формат:
Тут гораздо больше уроков: 88. Но они все короткие, поэтому не надо
выделять прям несколько часов что пройти один, а можно смотреть
где-нибудь за ужином или вместо какого-нибудь подкаста.
Этот курс есть на нескольких платформах и на каждой в разном
виде:
На мой взгляд Stepik самое прикольное, но если надо найти какой-то
момент, который проходил, но забыл - тогда проще на ютубе.
Инструменты
Редактор кода. Можно любой другой, но этот визуально приятный + уроки
идут на нем, поэтому не отвлекаешься на поиск нужного в меню другой
программы.
FTP-клиент. Чтобы загружать ботов на сервер.
Искусственный интеллект.
ChatGP ужасен. Не в плане знаний, а в том, что, когда ты его
спрашиваешь что-то одно, отправив кусок кода - он может исправить это,
но при этом исправить и что-то еще, на свое усмотрение. Иногда то, что
критично важно не трогать и ты потом такой: "А-а-а! Почему же работает,
если раньше все было окей?!".
А Cursor я боюсь. Слишком он самостоятельный и для того, чтобы с ним
работать нужно пройти еще один курс "Как с ним работать".
Claude самый адекватный баланс. Но в бесплатной версии прям совсем
мало вопросов - надо все четко формулировать.
Заметочник. Можно вставлять куски кода, ссылки, картинки и тп. Есть
теги. Синхронится через dropbox с телефоном. В общем я его давно хвалю
со всех сторон
Хостинг. В бесплатной подписке дается 100mb, что в общем-то для ботов
более чем достаточно.
Полноценной инструкции по хостингу ботов на нем я не нашла. Есть вот такая на Хабре, но в
ней есть нюансы, к тому же она писалась по старому интерфейсу, поэтому
вкратце накидаю свою:
Sites
Сайт там только один. В настройках
выбираем тип User Program. В Command пишем что угодно
(так как он не дает оставить поле пустым). Все сохраняем, забываем. Он
нам больше не нужен.
FTP
Смотрим вверху имя нашего сайта по ftp.
Будет что-то типа ftp-mysite.alwaysdata.net. Через
Filezilla закидываем файлы бота. У меня лежат в папке
www/bots/bot_folder/
SSH
В настройках поставить галочку
enable password-based login. Наверху кликаем на
on the Web - попадаем в командную строку, логинимся,
переходим в папку bots и устанавливаем все, что надо (pip inslall
бла-бла-бла).
Servises
Отсюда запускаем ботов. Добавляем
новый сервис и далее пишем:
- Command: python
/home/my_site/www/bots/bot_folder/mybot.py
- Environment:
TG_TOKEN=7544512083:AAFYsOdjDqjjFVsRL405YjwVFlJKl3Fa3H9
- Working directory: www/bots/bot_folder
Processes → SERVICES
Если надо остановить
бота (например, чтобы загрузить новую версию), после того как вы его
тормознете в сервисах, проверьте действительно ли он остановился тут.
Если нет - kill.
Мои боты
Это был самый первый бот. Как только в каком-то уроке я обнаружила,
что есть такие функции как lower() и upper() - сразу поняла, что это,
что мне давно нужно. Потому что часто для редактирования pdf нужны
данные в определенном формате, а присылают мне их кто во что горазд и в
основном как раз в телеграмме. Так что все, что делает бот - переводит
присланный ему текст в верхний или нижний регистр.
В общем-то бесполезный, тоже самое можно сделать на сайте IPinfo. Тут
скорее хотелось потренироваться подключать API. К тому же он не чекает
реальный IP пользователя. Пока я его тестила со своего компа - он
успешно слал мой реальный IP. Но как только захостила - стал присылать
адрес хостинга и вроде как исправить это не просто, да и не особо
нужно.
А вот это то, ради чего все затевалось. Бот, который сам генерирует,
так называемый "обратный билет", который часто спрашивают в аэропорту
при посадке на рейс или же визовые центры при подаче на визу. Особо
строгие и дотошные, конечно, могут этот билет проверить, но тут уж
каждый сам решает - платить 20$ за бронь и спокойствие или показать
"филькину грамоту".
По идее надо его еще доработать, например сделать возможность ввода
города по-русски, возможно генерировать не только прямые рейсы, но и с
пересадкой. И, наконец, разобраться как его сделать платным, чтоб был
какой-то профит за потраченное время. Но это вроде еще в 10м уроке, так
что пока как есть.
Это немного доработанный бот, который делается на курсе. Просто
вынесла основные валюты, среди которых я живу: индийскую, непальскую и
индонезийскую рупии, баты и рингиты. Тоже в общем-то не сильно нужен,
так как есть отличная аппка
Пока что всё. Если достигну какой-нибудь следующей ступени дзэна -
напишу.
Телеграм-боты
2025 Apr 07 See all postsМне надоело рисовать обратные билеты руками. В общем-то работы немного, но для этого надо ноут открыть, ноут достать, запустить пару приложений, исправить пару предложений. И все это довольно скучная рутина. Поэтому захотелось процесс как-то автоматизировать. И
оказалосьпоказалось, что проще всего это сделать при помощи телеграм-бота. И пока я помню, что мне вообще для этого понадобилось - набросаю список всяких нужностей.Курсы
Телеграм бот на Python (Гоша Дударь)
11 уроков, но уже на пятом создается примитивненький бот. Обучение на примере библиотеки pyTelegramBotAPI (есть один урок про aiogram, но там старая версия, поэтому смотреть его вообще смысла нет). Объясняет все по делу, без воды. Предполагается, что смотрящий знает Python, но не деле как раз делая бота можно параллельно и изучать его. Отдельно смотреть курс про питона скучно, потому что там в начале много вводных, а приятного результата, который можно кому-то показать - нет. Ведь не будешь хвастаться программой, которая считает периметр треугольника...
Но тем не менее параллельно смотреть курс по Python стоит, иначе многие моменты не очень понятны.
Уроки Python с нуля (itproger)
21 урок от того же чувака. Мне нравится его подача. Поэтому вот. Но посмотрела только первый урок пока и перешла на немного другой формат:
Язык программирования PYTHON для начинающих (egoroff_channel)
Тут гораздо больше уроков: 88. Но они все короткие, поэтому не надо выделять прям несколько часов что пройти один, а можно смотреть где-нибудь за ужином или вместо какого-нибудь подкаста.
Этот курс есть на нескольких платформах и на каждой в разном виде:
На ютубе просто видосики.
На сайте egoroffartem.pythonanywhere.com c практическими задачками.
На Stepik - пошаговый курс: видео-теория → текст-теория → упражнения с проверкой результата и системой баллов.
На мой взгляд Stepik самое прикольное, но если надо найти какой-то момент, который проходил, но забыл - тогда проще на ютубе.
Инструменты
PyCharm
Редактор кода. Можно любой другой, но этот визуально приятный + уроки идут на нем, поэтому не отвлекаешься на поиск нужного в меню другой программы.
FileZilla
FTP-клиент. Чтобы загружать ботов на сервер.
Claude AI
Искусственный интеллект.
ChatGP ужасен. Не в плане знаний, а в том, что, когда ты его спрашиваешь что-то одно, отправив кусок кода - он может исправить это, но при этом исправить и что-то еще, на свое усмотрение. Иногда то, что критично важно не трогать и ты потом такой: "А-а-а! Почему же работает, если раньше все было окей?!".
А Cursor я боюсь. Слишком он самостоятельный и для того, чтобы с ним работать нужно пройти еще один курс "Как с ним работать".
Claude самый адекватный баланс. Но в бесплатной версии прям совсем мало вопросов - надо все четко формулировать.
Joplin
Заметочник. Можно вставлять куски кода, ссылки, картинки и тп. Есть теги. Синхронится через dropbox с телефоном. В общем я его давно хвалю со всех сторон
AlwaysData
Хостинг. В бесплатной подписке дается 100mb, что в общем-то для ботов более чем достаточно.
Полноценной инструкции по хостингу ботов на нем я не нашла. Есть вот такая на Хабре, но в ней есть нюансы, к тому же она писалась по старому интерфейсу, поэтому вкратце накидаю свою:
Sites
Сайт там только один. В настройках выбираем тип User Program. В Command пишем что угодно (так как он не дает оставить поле пустым). Все сохраняем, забываем. Он нам больше не нужен.
FTP
Смотрим вверху имя нашего сайта по ftp. Будет что-то типа ftp-mysite.alwaysdata.net. Через Filezilla закидываем файлы бота. У меня лежат в папке www/bots/bot_folder/
SSH
В настройках поставить галочку enable password-based login. Наверху кликаем на on the Web - попадаем в командную строку, логинимся, переходим в папку bots и устанавливаем все, что надо (pip inslall бла-бла-бла).
Servises
Отсюда запускаем ботов. Добавляем новый сервис и далее пишем:
Processes → SERVICES
Если надо остановить бота (например, чтобы загрузить новую версию), после того как вы его тормознете в сервисах, проверьте действительно ли он остановился тут. Если нет - kill.
Мои боты
Keyboard Case Switch
Это был самый первый бот. Как только в каком-то уроке я обнаружила, что есть такие функции как lower() и upper() - сразу поняла, что это, что мне давно нужно. Потому что часто для редактирования pdf нужны данные в определенном формате, а присылают мне их кто во что горазд и в основном как раз в телеграмме. Так что все, что делает бот - переводит присланный ему текст в верхний или нижний регистр.
IP Checker
В общем-то бесполезный, тоже самое можно сделать на сайте IPinfo. Тут скорее хотелось потренироваться подключать API. К тому же он не чекает реальный IP пользователя. Пока я его тестила со своего компа - он успешно слал мой реальный IP. Но как только захостила - стал присылать адрес хостинга и вроде как исправить это не просто, да и не особо нужно.
Sky Travel Agent
А вот это то, ради чего все затевалось. Бот, который сам генерирует, так называемый "обратный билет", который часто спрашивают в аэропорту при посадке на рейс или же визовые центры при подаче на визу. Особо строгие и дотошные, конечно, могут этот билет проверить, но тут уж каждый сам решает - платить 20$ за бронь и спокойствие или показать "филькину грамоту".
По идее надо его еще доработать, например сделать возможность ввода города по-русски, возможно генерировать не только прямые рейсы, но и с пересадкой. И, наконец, разобраться как его сделать платным, чтоб был какой-то профит за потраченное время. Но это вроде еще в 10м уроке, так что пока как есть.
Currency Converter (SEA, SA)
Это немного доработанный бот, который делается на курсе. Просто вынесла основные валюты, среди которых я живу: индийскую, непальскую и индонезийскую рупии, баты и рингиты. Тоже в общем-то не сильно нужен, так как есть отличная аппка
Пока что всё. Если достигну какой-нибудь следующей ступени дзэна - напишу.