О моих запоздалых попытках войти в ИТ можно почитать здесь. Отклик на статью был приличный. Кто-то сильно ругал, а кто-то давал очень хорошие советы. Настолько, что я написал отдельный обзор здесь. В итоге я всё-таки решился реализовать давнюю идею — сделать телеграм-бота для благотворительного фонда. Ссылка на него будет в статье. Бот ещё не тестировался должным образом и работает у меня на ноутбуке, так что может быть недоступен. Напишите, пожалуйста, что ещё можно доделать.
Вот, что у меня вышло
Вступление
Сразу скажу, когда бот заработал, пусть даже и очень коряво, — это было настоящее счастье. Поэтому могу подтвердить, что при обучении программированию, когда вы уже достигли определенного уровня, нужно делать свой маленький проект.
Также я завёл канал в ТГ с короткими советами по написанию текста. Всё-таки более 12 лет работаю в этой сфере, есть чем поделиться. Если интересно, подписывайтесь, буду очень благодарен. Обещаю не спамить и давать только действительно полезную информацию.
Почему бот
Потому что это просто. И, самое главное, от такой программы сразу будет какая-то польза. Писать код ради кода, обучаться на нереалистичных примерах и задачах — так себе развлечение. Быстро надоедает, а дальше апатия, выгорание и остальные прелести, которые в конечном итоге и приводят к твердой убеждённости: «Это не моё». А когда ты делаешь бота, видишь, что он работает, тут эмоции совсем другие.
В чём была идея
Я заметил, что очень часто в социальных сетях фонда спрашивали, как дела у того или иного подопечного. Это не какая-то закрытая информация, на сайте есть специальный раздел, где мы всё и так публикуем. Я подумал, будет здорово как-то автоматизировать процесс. Например, написать бота, который и о детях расскажет, и справку о фонде даст, да ещё и пожертвование примет. Идея не поражает свежестью и инновационностью, но зато соотносится с моими возможностями.
Реализация
Я работаю в Pycharm, если вдруг кому-то это важно. Начинал с Visual Studio Code, как рекомендовали на курсах. Но потом перешёл на отечественный продукт. Считаю то, что интерфейс на английском, — скорее плюс. Надо привыкать к языку, который в программировании всё-таки основной.
Я взял уже готового чужого бота. Посмотрел туториал, импортировал библиотеки, скопировал код. И сначала просто запустил его со своим токеном и ссылкой на нужную страницу. Когда он заработал, радовался как ребёнок.
Дальше стал допиливать. Поменял тексты, изменил функциональность кнопок, добавил возможность сделать пожертвование — просто вёл на страницу сайта с переводами. В общем, стало что-то получаться.
Я никак не мог понять, почему у меня постоянно вылазит какой-то конфликт, якобы запущено сразу несколько ботов, которые обращаются к моему коду. Потом разобрался. И тут, конечно, во весь рост проявилась моя «нубность». Так как я очень боялся потерять наработки, то сохранял код в нескольких файлах. И хотя я потом удалял эти лишние файлы, и они не были открыты у меня в Pycharm, но всё равно работали. Я обнаружил это, когда нажал на большой красный квадрат рядом с кнопкой запуска кода. Отключил и ошибка ушла.
Бот работает, но пока непонятно, как он поведёт себя под серьезной нагрузкой. Возможно, придётся оптимизировать. Также ещё придётся разбираться с загрузкой кода на сервер, чтобы бот не зависел от моего ноутбука. Короче, у самурая программиста нет цели, есть только путь.
Вывод
Программирование может быть очень интересным, когда понимаешь, зачем оно нужно, и что ты будешь с ним делать. Думаю, именно поэтому опытные кодеры и создают свои Pet-проекты. Так они избегают выгорания, получая удовольствие и от процесса, и от результата, которым можно похвастаться в профсообществе.
Сам бот здесь