Трибуна Vladislava Rakhmanova
17 484

TeleFeedBot — бот для чтения ленты «ВКонтакте»

Позволяет потреблять контент из соцсети в обход блокировок.

В закладки

Меня зовут Вадим Кулибаба, мне 41 год. Мой проект TeleFeedBot запущен 17 мая 2017 года.

Идея

Ежедневно мы потребляем огромное количество контента. Новости, социальные сети и прочие медиа буквально накрывают нас волной информации. Мне всегда хотелось иметь возможность отфильтровывать самое важное в этом потоке информации. Ну, или хотя бы её структурировать. Но для того чтобы управлять хаосом, необходимо его возглавить. Так родилась идея сделать очередную «читалку».

Мессенджер выглядит идеальной средой для потребления контента. В нем не может выскочить назойливая реклама, в нем есть встроенные ограничения на размер и типы публикаций. Он всегда под рукой, и установка приложения в нем занимает секунды.

С коммерческой точки зрения Telegram — не самый популярный мессенджер в России. Но сейчас только эта платформа прелагает разработчику свободу творчества. Не надо писать заявок, догадываться об ограничениях, заботиться о форме подачи контента.

В конце концов, Telegram, на мой взгляд, — самый быстрый и стабильно работающий мессенджер. Поэтому я решил делать бота под него.

Бот

Откровенно говоря, пока бот не очень «умён». Для того чтобы начать, необходимо просто отправить ему ссылку на сайт. Бот анализирует, есть ли для этого сайта подключенный API либо RSS- или Atom-лента, и, в случае успеха, начинает копировать оттуда контент и присылать в мессенджер.

К сожалению, не для всех сайтов это срабатывает автоматически. В таком случае можно передать прямую ссылку на RSS-фид.

Контент

Принципиально отличается в первую очередь подход к подаче контента. С самого начала хотелось не просто кинуть пользователю URL в надежде на то, что Telegram вытащит из него нужный фрагмент, а проанализировать контент и подать его в максимально удобной для пользователя форме.

Например, если в статье есть картинки — то сделать запись в виде самой яркой картинки с описанием к ней. Если это видео — загрузить и отправить его именно в таком формате. Если это преимущественно текстовый контент — предложить его в форме текста. И так далее. На самом деле, это огромный пласт работ, который пока далек от завершения.

В результате часто удаётся превратить статью из безликого URL в довольно симпатично поданный материал.

«ВКонтакте»

Сейчас наиболее полно поддерживается «ВКонтакте» — пока, к сожалению, только публичные страницы, но зато весь контент передается полностью и максимально удобно. Полностью — это значит, что если в публикации есть текст, картинки, ссылки и так далее, то весь материал будет перенесён.

К моей радости как раз на днях объявили о блокировке «ВКонтакте» на Украине, в связи с чем пришлось запустить бота раньше, чем планировалось. Вторая хорошая новость в том, что ботом можно будет пользоваться для обхода блокировки.

Контент вида «картинка с описанием»
Пример текстового контента

Прочие сервисы

Сейчас в той или иной степени протестированы следующие популярные сайты:

Подробнее с функциональностью и описанием возможностей бота можно здесь.

Ограничения

Сейчас каких-либо ограничений нет. Технически бот спроектирован с учетом потенциальных блокировок, банов, лимитов и так далее. То есть сейчас он выглядит как несколько независимых друг от друга сервисов, и я надеюсь, что это позволит масштабировать проект на любое количество пользователей.

#Стартапы

{ "author_name": "Vladislava Rakhmanova", "author_type": "editor", "tags": ["\u0441\u0442\u0430\u0440\u0442\u0430\u043f\u044b"], "comments": 30, "likes": 37, "favorites": 1, "is_advertisement": false, "subsite_label": "tribuna", "id": 23895, "is_wide": false, "is_ugc": false, "date": "Thu, 18 May 2017 15:12:46 +0300" }
{ "id": 23895, "author_id": 75278, "diff_limit": 1000, "urls": {"diff":"\/comments\/23895\/get","add":"\/comments\/23895\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/23895"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116 }

30 комментариев 30 комм.

Популярные

По порядку

Написать комментарий...
5

просирать жизнь можно еще удобней.

хотя последнее под сомнением.

Ответить
4

Только сегодня ввиду блокировки вк в моей стране начал писать бота, который авторизируется через вк и просто стримит всю ленту в чат. Слишком поздно

Ответить
1

Чем это отличается от сайта, с которого вы парсите контент? И какая модель монетизации? Как соблюдаются авторские права оригинальных источников?
Может быть объём работы и был сделан большой, но со стороны очень жиденько смотрится.

Ответить

Комментарий удален

1

Я так и не понял, чем это от сайта отличается. Монетизации у вас нет, максимум - предлагаете рекламу, при этом, в самом рассказе утверждаете, вы против этой самой рекламы. Адаптивная верстка сайтов, ровно как направленость сайтов на какую-то тему делает, на мой взгляд, этот проект бессмысленным. Я не понимаю, зачем мне бот для vc.ru, если я и так могу зайти на vc.ru. В ленте соцсетей я и так подписан на сайты, новости которых и без телеграмма появляются. Зачем мне, как пользователю, какой-то бот. Ни увеличение объема информации, ни систематизацию, ни денег, мне, как пользователю этот проект не принесет. К тому же, вы предлагаете продавать персональные данные пользователей, лол.

Ответить

Комментарий удален

Комментарий удален

2

То есть вы предлагаете из одной ленты сделать сразу 5-6? :)

Ответить

Комментарий удален

Комментарий удален

1

Не упирается ли такая новостная рассылка в лимиты телеграмма?
В чем преимущества уводить ленты в месенджер? В отличие от мессенжера в том же http://feedly.com/ или http://freadm.com/ можно бить ленты на темы, а тут можно будет просто утонуть в одной ленте и информационная ценность быстро упадет.

Ответить

Комментарий удален

0

т.е. на лимиты рассылок сообщений он не попадает, например "The API will not allow more than ~30 messages to different users per second. " ?

Ответить

Комментарий удален

0

UPD: запостил только что еще один пост, пришло в бот через 20 сек, неплохо. Но нет картинки, которую я прикрепил к посту (

Ответить

Комментарий удален

0

Ясно. Прошу большое внимание обратить на данный баг - ваш бот внезапно прислал рандомный пост из группы (от 13 мая). Примечание: в группе открыта стенка, пишет любой желающий, бот прислал пост юзера. Ниже здесь в комментах человек так же написал об этом баге, ему тоже приходят рандомные посты, пофиксите пожалуйста!

Ответить
0

PS: только что еще прислал уже из другой группы вк рандомный пост от 2016 года.. Хочу подписать с десяток групп, но если и дальше так будет то замучаюсь. И еще, куда писать о багах, куда удобней?

Ответить

Комментарий удален

0

Добрый вечер! Добавил ссылку в бот на группу (открытая), сделал пост в группе, но так ничего и не пришло. При этом, тот же бот aximobot, который работает по такому же принципу как ваш - прислал через 10 минут. Кстати, я так понял ваш бот присылает и текст и картинки в тексте, что намного лучше чем aximobot (он присылает только ссылку), и хотелось бы уже потестировать но не получается ( У вас проблемы с нагрузкой?

Ответить
1

Вадим, задумка прекрасная, но бот присылает с 3х групп по 2-3 поста в день, хоья в самих группах посты выкладывают каждый час, почему он такой медленный?

Ответить
0

Мне вот тоже это интересно. Если бы не этот минус было бы просто супер всё

Ответить

Комментарий удален

–2

Уже как год читаю ленты вк в RSS-агрегаторе inoreader, нафиг нужны всякие боты?

Ответить
0

inoreader бесспорно хорошая rss читалка, но для задач которые описаны в статье она не подходит, там "Количество лент ВКонтакте" в бесплатной версии ограничена одной.

Ответить
1

Точно, вы правы.
Я их читаю через vk-to-rss.appspot.com, в обход иноридера.

Хоть у меня и платный иноридер, но интегрироваться с вк было как-то лениво.

Да, кстати, что ОП будет делать если (когда) телеграм заблокируют?

Ответить
0

Удобно! Я бы пользовался

Ответить
0

очень круто.

Ответить
0

Для этого уже есть https://t.me/aximobot например, да и еще есть какие то боты, я уверен, зачем изобретать велосипед?

Ответить
0

Так бот aximobot присылает только ссылку, теперь внимательно прочитайте пост о сабжевом боте, в каком формате он доставляет контент... не нужно никуда переходить. И вряд ли есть другие боты на данный момент, которые работают в таком же формате, присылая и текст и картинки, хештеги etc.

Ответить
0

Ну мне лично сабжевый присылает какие то рандомные посты которые были в вк опубликованы пару часов назад. А вот aximobot присылает не только ссылки, а пост целиком, вот как это выглядит - http://i.imgur.com/Ib4oGWz.png и я не вижу принципиальных отличий от того что мне прислал сабжевый бот - http://i.imgur.com/9RtWujw.png в aximobot это даже лучше выглядит. А насчет других ботов, которые " работают в таком же формате, присылая и текст и картинки, хештеги etc." если взять отдельно ВК, то есть прекрасное решение https://t.me/vknfeedbot там помимо остального можно ставить лайки на записях и репостить их, правда сейчас вот запустил, бот не реагирует на команды, но пару дней назад работал, может там какие то тех.работы.

Ответить
0

Я в aximobot добавлял группу вк, мне присылает только название в виде ссылки на пост.. У вас на скрине как я понял добавлены rss (лентач и vc), а группы вк добавляли? Возможно баг, но мне важны группы вконтакте в первую очередь.

Кстати, aximobot присылает с задержкой не меньше 10минут а то и более, а сабжевый бот прислал мне ссылку через 20сек (мб даже раньше) после поста в группу вк.

Ответить
0

Нет, на скрине добавлена группа вк, командой /add vk vcru задержка да, минут 10. Насчет сабжевого бота, с удовольствием бы оценил его скорость, но как я уже писал выше, он мне прислал пару постов которые вк были еще пару часов назад, и пока молчит, хотя новый посты вк публикуются. Ну а вообще телеграм как по мне не очень вещь для этого, вот как вы пишите что у вас бот ссылки только присылал, а сабжевый работает, а у меня наоборот. Баги, баги повсюду ¯\_(ツ)_/¯

Ответить
0

В связи с блокировкой ВК на тер-рии Украины -- очень удобный бот. Однако не могу понять, почему бот присылает не свежие посты, а рандомные. Так надо или что-то пошло не так ?

Ответить

Комментарий удален

0

За март пост прислал, да и из других групп прислал посты старее, чем предпоследний. Может, не стоило сразу добавлять около 40 пабликов?

Ответить
0

Если правильно понял, то ему нужно время, чтобы раздуплиться, верно ?

Ответить

Комментарий удален

0

Огонь! Спасибо, я уже давно получаю всю полезную инфу только с телеграма, а после того как вышло обновление вк, которое отключает невидимку, то ваш бот мастхэв!
Успехов вам, и не останавливайтесь

Ответить
0

пл скринам как то не очень

Ответить
0

Спасибо за труды, стало присылать по несколько вышедших постов примерно в 2-3 часа

Ответить
0

ну ёёё
я тоже самое доделываю
как услышал что у соседей мемы забанили, решил для друганов сохранить ленту

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления