Tk1150

просто мудак
На Пикабу
Дата рождения: 23 мая
3187 рейтинг 4 подписчика 5 подписок 3 поста 0 в горячем
2

Телеграм бот для скачивания книг из своей локальной библиотеки на своем серврере

Доброго времени суток, Пикабушники! Случилось тут со мной, что я намутил свой телеграм бот для скачивания книг со своего сервера. Библиотека должна быть в формате inpx (например копия флибусты, скаченная с любого удобного трекера).
Бот я задумал совсем давно, когда столкнулся в принципе с такими ботами. И мне в голову пришла мысль, а почему бы и да? (тут хочу уточнить, я не программист и программировать я не умею). С этим вопросом я обратился в интернет

Примерно так оно и было

Примерно так оно и было

Первым делом я обратился к нейросетям, они меня конечно поняли, но со своей, извращенной логикой. И как я им не объяснял, что мне нужно, нормальную реализацию моей задумки мне получить так и не удалось. Затык был в парсинге книг из inpx и в принципе в нормальном поиске и скачивании книг (по сути во всем), но какой-никакой костяк они мне дали. Решив, что так жить нельзя, а в одном месте все так же свербит, я пошел на Авито в поиске настоящего программиста, которого я там и нашел. Объяснив задачу и несколько раз объяснив что такое inpx (я раньше думал, что после получения задачи, программист сам способен выяснить технические детали с чем ему нужно работать), он сделал мне полностью рабочего бота, который парсил inpx и даже выдавал результаты поиска и позволял скачивать найденное!

Но у этого бота было множество минусов! Во-первых, все данные он держал в ОЗУ (оперативной памяти), т.е при каждом перезапуске бота, он заново парсил весь inpx. Во-вторых были проблемы с отображением результатов (уже и не вспомню какие), плюс, он был чувствителен к регистру. В третьих, все переменные он держал внутри тела бота, что на мой взгляд было очень неудобно, искать среди всего кода куда и с чем ему работать.  Но, так как у меня уже был рабочий бот, с исходниками можно было обратиться к нейросетям. Мой выбор пал на Grok, от Илона нашего Маска!

Нейросети очень сильно помогли мне с этим. Так, я научил бота создавать бд в SQL, куда сохранялись все спарсенные книги, чтобы не выполнять каждый раз парсинг при запуске бота. Переработал сам парсер, изначально он был на Python, но пришлось переписать его на GO и переложил всю работу с парсингом и вставкой книг в SQL на него (парсинг ускорился в несколько раз, с 7-8 минут на версии Python до 48-50 секунд на версии GO после компиляции) Сейчас бот нечувствителен к регистру, все перменные для работы находятся в .env файле, но у него есть ряд ограничений. Он ищет книги только на русском языке, в форматах fb2 и epub. Все остальные языки и форматы игнорируются. В рабочем режиме, после парсинга, бот потребляет не более 70 мегабайт ОЗУ, что делает возможным его запуск на микрокомпьютерах вроде Orange pi. Для запуска бота, вам потребуется сама библиотека, Python,  SQL с пользователем, который может создавать и изменять бд в ней. Все переменные указываются в файле .env Сами исходники и версия с парсером на Go лежат тут https://disk.yandex.ru/d/EF36zcqYdp_01A

Совсем забыл! Токен для бота нужно получить в @botfather и указать его в .env файле! Пример файла лежит в папке с ботом! Просто замените или укажите в нем свои значения. Файл должен лежать в одной папке с ботом. Путь к inpx не абсолютный, обычно этот файл лежит впапке с zip книг. В env указываете только адрес папки с zip, бот сам обнаружит inpx и начнет парсинг

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества