Телеграм-бот, который поможет сохранить статью как pdf-файл. Кидаешь ссылку — получаешь читабельную пдфку.
Идея
Как обычно бывает, я просто хотел решить свою проблему, но не нашёл подходящего готового инструмента.
До пандемии я часто ездил в родную деревню, где нет интернета и очень плохо ловит сотовая связь. После того, как вскопаешь огород, почистишь навоз и поставишь чёртовых гусей на место, хочется сесть на крылечко, налить парного молока и почитать статью Пола Грэма, которая ждёт тебя в очереди вкладок в браузере. И тут-то моя проблема и возникает. В какой-то момент мне надоело бегать по огороду, ловя связь с поднятой рукой, и решил я сделать бота.
Главное требование для бота — простота. Кинул ссылку — получил пдф. Без каких-либо команд и прочего.
Делаем
Прототип был сделан за несколько вечеров. Большая часть времени была потрачена на выбор феймворка и дома для бота. Я хотел обойтись без базы данных и чтобы бот работал на лямбде с помощью вебхуков. Прототип делал то, что хотел — генерировал пдф из ссылки. Дальше надо было заставить его делать читабельную пдф, то есть оставлять только текст и изображения.
В качестве сервера я выбрал Vercel (Zeit), потому что бесплатно, удобно и есть серверлесс функции. Подключил GitHub — автоматически получил CI.
Сам бот сделан с помощью Telegraf.js, потому что первая ссылка в гугле.
В читабельный вид статью приводит библиотека, которая отвечает за режим чтения в Firefox. А сама пдф сохраняется с помощью Chrome.
В итоге бот делал всё как я хотел. Накидал ссылок, получил пдфки, сохранил на смартфон и поехал в деревню пасти гусей.
Единственная оставшаяся проблема — он не могёт в тяжёлые статьи, потому что у Vercel ограничения в 10 секунд на исполнение функций.
Индийцы
Всё было хорошо, пока не пришли они.
Мне начали писать в личку и просить добавить поддержку хинди и телугу, и ещё расширить функционал.
Шрифты я с радостью добавил. Но менять и расширяться не стал. Бот делает одну вещь и делает хорошо. Индийцы, извините.
После этого я добавил простое логирование, и в течение недели записывал ссылки в Airtable, чтобы понять как используют бота.
Большинство ссылок было на индийских языках связанных с учёбой и образованием.
Некоторые хитрили и сохраняли твиттер-треды с threadreaderapp.com. Изредка встречались ссылки на испанские эротические рассказы. Сейчас логирую только удачные и неудачные попытки получить пдф.
Бот работает около трёх месяцев. В среднем каждый день генерирует около десяти пдф от 8-10 уникальных пользователей.
Траты и планы
На разработку бота ничего не потратил. Это проект больше для себя, чтобы научиться чему-то новому, не верстать же всю жизнь.
В будущем хотелось бы научить бота обрабатывать несколько ссылок из одного сообщения. И если хватит фана, то сделать веб-морду с удобным списком пдфок и ссылками для скачивания.
Монетизировать бота не было в планах. Не представляю, как можно это делать с таким специфичным ботом. Личная веб-морда по подписке?
Но индийскую любовь я уже заслужил.
Нужны ли какие-то советы или помощь Клуба?
Любые советы!
Монетизировать можно лимитами на размер PDF или число конвертаций в день.
Не знаю, что тут можно прибавить-убавить, просто круто :) Отличная работа!
Крутой бот! С индусов в голос посмеялся :D
А где ссылка на бот? на скрине только увиделUPD. Увидел, не знал что заголовок это и есть ссылка на бота
Спасибо за бота! Как раз хотела найти что-нибудь подобное. Работает хорошо, получаются читабельные pdf-ки.
А откуда про бота узнали любвеобильные индийцы?
😱 Комментарий удален модератором...
Отличный проект.
Я только начал изучать питон и мне не хватает какого-нибудь похожего реализованного бота, на основании которого я мог бы сделать что-то похожее или скопировать в качестве упражнения. В идеале, ютуб урок с объяснениями как-что печатается и зачем. Даже был бы готов за это заплатить...
А бывают ещё какие-то?
Спасибо автору за отличную работу.
Подписался и пользую бота.
И в развитие проекта или скорее создание нового проекта скажу два слова.
Пасти гусей дело ответственное, это вам не верстать.
ПДФ-ки это хорошо, но когда едешь за рулем, то слушать безопаснее, и точно приятнее, чем читать. Извиняюсь за длинную подводку.
Вот бы нам такого бота, а может и не бота, чтобы можно было послушать статейки и Вастрика шутейки. Обожаю его шутейки.
В продолжении темы "послушать" - создал вопрос про TTS сервис в разделе вопросы. И что? Ни одного ответа. Либо ответ очевиден и всем влом писать, либо очевидного ответа нет.
Кстати, бот - молодец!
Справился хорошо вот и с этим нетипичным форматированием:
https://www.nordbayern.de/region/nuernberg/gutaussehend-und-modern-nurnbergs-neue-u-bahn-zuge-1.10347777
Классный стиль написания 👍 особенно при гусей