Всем приветик, как и обещал – делюсь тем, как устроен бот который наполняет этот подсайт.
2666
просмотров
Как это работает:
- У нас есть огромный список аккаунтов, который мы мониторим и смотрим, что они ретвитят;
- Cобираем это всё в базу и дальше строим топ за определенное время сортируя записи по ретвитам – то есть за 3 или 7 часов, например;
- Отдаём это в виде API для бота этого подсайта, исключая из списка тех, кто глобально у нас в черном списке;
- Бот берет твит с самым большим количеством ретвитов за временной промежуток – например, за 3 часа, и если тут еще не было поста с этим твитом – публикует его;
- В конце месяца, тот, чьи посты минусовали чаще всего, добавляется в ЧС и больше его твиты не мониторятся.
Из такого подхода, есть плюсы и минусы.
Плюсы:
- Каждый пост можно обсудить или добавить в избранное;
- Каждый пост можно добавить в ЧС, с элегантным костылем с хештегом-ником-автора-твита;
- Сообщество отлично справляется с сортировкой топа, вот вид топа за неделю;
- Каждый пост можно скрыть через три точки, как обычно.
Минусы:
- Топ твитов в целом территория ботов, иногда туда выводят что-то отвратительное;
- Любители почитать «Свежее» это отвратительное встречают первыми – хоть это часть их отвественности, оценивать материалы которые только появились на сайте, не все этим довольны.
Что можно сделать, чтобы улучшить работу раздела:
- Можно добавить сортировку «За сутки», которая по дефолту открывалась бы при открытие подсайта – сейчас открывается «свежее», а так мы показывали бы самые залайканные твиты за день.
- Можно сделать раз день в пост, где будут результаты дня – просто пост с твитами за 24 часа. Это для тех, кому мало твитов.
- Можно сделать команды в под постами вроде таких, вы пишите /kick и если коммент соберет 10 лайков, то автор выкидывается из топа и добавляется в ЧС – чтобы не ждать месяц.
В общем, поделитесь вашими идеями развития топа.
P.S. Имейте ввиду, никто не знает как работает тот сервер который парсит твиты изначально, так как он написан был фиг знает когда, и его невозможно допиливать не переписав полностью с нуля.
Суммирую тут мысли пока не забыл:
1) Проблема:
Засоряется лента «Свежее», жалоба не только из-за твит-бота, а в целом популярна от тех, кто не готов смиряться с тем, что на их плечах лежит то, что выйдет в популярное и им приходится смотреть на все эти шитпосты от Московского.
Возможное решение:
Существует ряд решений, одно из них будет ниже, одно такое: мы можем сделать дополнительный фильтр у ленты «Свежее» куда могли бы вынести такие пункты, как «Всё», «От +5», «От +20» и тп. Те кто любят читать сайт по хронологии, смогут там чувствовать себя комфортнее, вроде такого что-то (это мокап):
https://leonardo.osnova.io/5e913787-66de-c1e8-5e9a-38689c43e041/
2) Проблема:
Сложно отписаться от автора твита
Возможное решение:
Через 3 точки сейчас не скрыть хештег, можно сделать такую кнопку, которая предлагает первый хештег поста внести в игнор, ну или открывает отдельное окошко где это сразу можно сделать:
https://leonardo.osnova.io/d13b83fd-aeb0-0108-1c7b-dab88358f132/
Такое решение уместно для всей Основы
3) Проблема:
Больше нету кнопки «Твиты» в шапке сайта
Возможное решение:
В новой версии TJ поменяется и шапка, там не будут появляться кнопки, зато будет место, где будут видны все ваши подписки. Для подсайтов мы можем сделать «Избранное», добавив такой подсайт в избранное вы всегда будете его видеть на первом месте в списке подсайтов:
https://leonardo.osnova.io/b2bdb914-ceaf-9e16-e2c8-a35675a3333e/
Получается, все кто захотят смогу отписаться от подсайта, но сохранить для него быстрый переход внутрь.
4) Проблемы алгоритма
Это сложный вопрос для меня, так как я менеджер а не пограмист, я попрошу Илью посмотреть, что можно тут сделать.
Предлагают:
Банить заминусованных авторов твитов раз в неделю или банить, если 3 последних поста автора твитов в минусе
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383398
Изменить алгоритм выборки твитов, сделать его с весами
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383489
Обновить список ЧС уже сейчас (это сделаем и так)
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383417
Собрать весь ватный конгломерат изначально и забанить для бота.
Предлагаю в этой ветке списком собрать таких, внесем сразу
Вот моя идея, как вернуть старый топ твитов и одновременно интегрировать его в Основу.
1. Добавляем к постам привязку твит-рейтинга за час, за 3 часа, за сутки и т.д.
2. Убираем вывод всех постов из подсайта Твиты из Свежего
3. Бот каждый час собирает топ-50 (количество можно решить коллективно)
4. Бот публикует еще неопубликованные ранее твиты из этого топа и акутализирует значение твит-рейтинга для каждого поста-твита. Твит-рейтинг ранее опубликованных твитов, не попавших в топ, обнуляется.
5. В подсайте "Твиты" сделать по-умолчанию сортировку по этому рейтингу по убыванию. Для твитов с нулевым рейтингом сортировку просто по убыванию даты.
6. В шапку добавляем старую кнопку с птичкой, которая ведет в подсайт Твиты.
7. Убираем автоматический забан наиболее часто блокируемых юзеров.
8. Делаем более удобную блокировку авторов твитов - не через хештег, а через три точки у поста.
Профит!
Получается подсайт Твиты не засирает Свежее, наиболее крутые посты-твиты появятся в Популярном, в Твитах выводится актуальный рейтинг, все посты копятся для истории, их можно комментировать, добавлять в избранное, кнопка быстрого доступа в подсайт есть. И блокировка авторов становится персональной, а не коллективной. Все в шоколаде
1. Общий вопрос – что ты называешь твит-рейтингом?
2. Так это можно сделать отписавшись от него, потому что сложно сделать в рамках основы – скрыть из «Свежего» для конкретного подсайта. Более того, умрет вся суть формирования топа юзерами, а не ботами, из-за того что исчезнут оценки почти полностью :(
3. В виде отдельного поста? Топ-50 редко меняется, не уверен что там будет 1200 твитов в сутки которые достойны внимания, но можем попробовать.
6. Шапки скоро не будет, ну и убрали же не просто так, там находятся спецы :(
8. Это отдельное допиливание Основы, так как нигде такого нет – по сути это и есть почти старый топ твитов, который не хотели развивать из за того что он легаси и написан не ясно когда
То есть это все по большому счету выглядит как реальная доработка, и проще уже открыть старый топ в open-source и дать его сообществу для допиливания, а встроить к нам по iframe
Зоибана, к сожалению, технически эта реализация — это ещё больший костыль, чем то, что было раньше хотя бы из-за лайков, которые по логике должны быть привязаны к оценкам конкретных юзеров. К сожалению, в таком виде сделать мы не сможем.
Это идеальный вариант, но им придется перепиливать инфраструктуру или делать совсем новый виджет для этого. Очень сложно, до свидания!
Комментарий недоступен
Ну, оправдано для целей улучшения раздела! Хотя согласен, можно было и с более широкой аудиторией обсудить, а то здесь тусуются только те, кого сейчас устраивает раздел.
Суммирую тут мысли пока не забыл:
1) Проблема:
Засоряется лента «Свежее», жалоба не только из-за твит-бота, а в целом популярна от тех, кто не готов смиряться с тем, что на их плечах лежит то, что выйдет в популярное и им приходится смотреть на все эти шитпосты от Московского.
Возможное решение:
Существует ряд решений, одно из них будет ниже, одно такое: мы можем сделать дополнительный фильтр у ленты «Свежее» куда могли бы вынести такие пункты, как «Всё», «От +5», «От +20» и тп. Те кто любят читать сайт по хронологии, смогут там чувствовать себя комфортнее, вроде такого что-то (это мокап):
https://leonardo.osnova.io/5e913787-66de-c1e8-5e9a-38689c43e041/
2) Проблема:
Сложно отписаться от автора твита
Возможное решение:
Через 3 точки сейчас не скрыть хештег, можно сделать такую кнопку, которая предлагает первый хештег поста внести в игнор, ну или открывает отдельное окошко где это сразу можно сделать:
https://leonardo.osnova.io/d13b83fd-aeb0-0108-1c7b-dab88358f132/
Такое решение уместно для всей Основы
3) Проблема:
Больше нету кнопки «Твиты» в шапке сайта
Возможное решение:
В новой версии TJ поменяется и шапка, там не будут появляться кнопки, зато будет место, где будут видны все ваши подписки. Для подсайтов мы можем сделать «Избранное», добавив такой подсайт в избранное вы всегда будете его видеть на первом месте в списке подсайтов:
https://leonardo.osnova.io/b2bdb914-ceaf-9e16-e2c8-a35675a3333e/
Получается, все кто захотят смогу отписаться от подсайта, но сохранить для него быстрый переход внутрь.
4) Проблемы алгоритма
Это сложный вопрос для меня, так как я менеджер а не пограмист, я попрошу Илью посмотреть, что можно тут сделать.
Предлагают:
Банить заминусованных авторов твитов раз в неделю или банить, если 3 последних поста автора твитов в минусе
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383398
Изменить алгоритм выборки твитов, сделать его с весами
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383489
Обновить список ЧС уже сейчас (это сделаем и так)
https://tjournal.ru/tweets/97063-kniga-zhalob-i-predlozheniy-po-uluchsheniyu-tvitov?comment=2383417
Все ок.
Только я предлагал изменить не алгоритм выборки твитов, а алгоритм публикации их на сайт и сортировки в подсайте. Исходный сервер-бот, который строит топ, остается неизменным.
Сейчас публикуется 3 самых топовых твита из топа, который составил ваш старый и никому уже не понятный сервер.
Я предлагаю публиковать ВЕСЬ топ (ну или N-ое число первых твитов топа) - кроме уже ранее опубликованных твитов. Но вместе с публикацией добавлять к каждому опубликованному посту с твитом доп информацию (которая не будет выводиться на сайте, а храниться внутри системы): кол-во ретвитов за час, за 6,12,24 и т.д.
И в подсайте сделать сортировку не по дате, не по популярному, а по этому дополнительно сохраненному к каждому посту количеству ретвитов за час, 6, 12, 24 часов.
А не будет такого, что определенный процент активных пользователей перейдет на такой вид отображения ленты (например, от +10) и новые посты теперь будут вообще пропадать в Свежем без лайков, даже если они отлично написаны? К тому же, скорость набора лайков вроде тоже влияет на попадание в Популярное, а теперь она уменьшится и материалам сложнее попасть в топ.
Ну и обратный момент: меньше пользователей, которые будут сливать откровенный спам и фигню из Свежего, тем самым она провисит там еще дольше.
Комментарий недоступен
Не могу найти ссылку, не поделитесь?
Старый топ нет планов развивать, можем открыть его исходный код. Я сейчас глянул, и там все также рядом гыгыгы и гифки, буквально рядом.
1. Возможно стоит все таки сделать какой то временной промежуток амнистии. Есть редкие авторы, которые в моменте пишут лютую хуету, но их остальные твитты более менее интересны.
Короче суть - перманентом банить даже миловых не норм. Кто не хочет видеть условного милова вообще - добавляет в ЧС, остальные раз в месяц его минусуют.
2. "сортировкой топа" инфинит скролл в списке багает и показывает одно и тоже через один скролл, до минусов я так и не дошел :)
3. Из пункта 1 перетекает пункт 3 - возможно "месяц" это слишком большой промежуток. Хочется не видеть авторов уже через неделю.
4. "никто не знает как работает тот сервер" а вот и конкурс на толстовку подъехал...
Как минимум стоит убрать твиты из общей ленты. Я вообще за персонализированные ленты, это позволит формировать несколько лент свежего, но в одной будут условные новости, а в другой всякие картинки и кубы. Тогда можно будет увеличить частоту постов. Потому что основным преимуществом предыдущего топа твитов было то, что можно было в него зайти и поскроллить, посмотрев что там интересного происходит. А сейчас получается твит раз в три часа, да еще и сомнительного содержания зачастую.
Короче так вижу.
Не знаю, мне дико нравится ватный Твиттер. Пожалуйста, ничего не меняйте.
Остров перец
Чиво?
По крайней мере пропали Макфол и прочие генераторы хуйни, но пока не замечал ничего интересного в подборке. Все свелось к гифкам.
https://tjournal.ru/tweets/entries/top/week не согалсен, тут есть прикольное
Комментарий недоступен
Ты про трендинг? Он помойка же
Можно отдельную кнопку для этого подсайт в приложении, чтобы оно не смешивалось с новостями? Пожалуйста, я даже прощу отказ от плиток.
Может мы добавим лучше избранное подсайтам и можно будет отписаться, тогда ты сможешь быстро попасть в подсайт так как он всегда будет первый в списке подписок?
Большая проблема №1, про которую уже писал и из-за которой практически не пользуюсь топом: нельзя ретвитнуть, не заходя в пост про твит, поэтому приходится делать в несколько раз больше кликов и тратить чуть ли не на порядок больше времени. Ведь нужно открыть страницу (а это не мгновенно), навести на кнопку ретвита и нажать её, а потом вернуться назад.
Проблема №2: хотелось бы иметь помимо нового алгоритмического порядка ещё и старую сортировку твитов не по голосам сообщества, а от твиттера (со всеми её недостатками).
Проблема №3: хотелось бы, чтобы страница твитов по компактности была сравнима со старой версией, чтобы можно было одним взглядом обозреть картину дня, как это можно было сделать с момента основания ТЖ.
@Ширяев, давай разрешим нажимать ретвит из ленты?
Поправка к проблеме №3, вдруг оказавшейся самой главной: сегодня понял, что инфокартину дня я не могу обозреть не потому, что новый топ некомпактен, а потому, что в новом топе просто на порядок меньше контента. За сегодняшнее утро твитов запощено всего пять (может, чуть больше с заминусованными, ХЗ, как проверить), тогда как в старом топе я по утрам мог проглядеть 25, 55 или сколько мне будет угодно твитов!
Можно частоту появления твитов из того или иного аккаунта каким-нибудь Weighted Moving Average от просмотров/голосов делать?
Так вот в чём проблема — это Ширман всё делал
Да с чего вы вообще решили что топ твитов должен сортироваться согласно нашим местным лайкам. Он по числу репостов на твиттере должен сортироваться. Всё. Никаких других вариантов. Иначе это не топ твитов а раздел со скринами твитов. А народ хочет топ вернуть, я надеюсь.
Тогда это будет ватный топ из ботов ¯\_(ツ)_/¯
Комментарий удален модератором
1) Повторы. Сегодня уже 2 раза был этот "Российский вариант Симсонов" и это не считая того, что пост про это уже был
2) Оценки тупо не работают. Посты с "-3" внезапно популярнее чем с "+33". Это во всех разделах так, но тут прям очень щаметно и ломает всю идею "Топа твитов"
3) Для меня основной минус, что новый топ тупо неудобно читать. В твитдеке помещается по 6 твитов на страничку, в старом топе по 3-4. В новом разделе 2 твита на страничку. 2 ТВИТА! Это кажется придиркой, но это реально не годится для микроблогов.
При этом всё это нагружено никому особо не нужным функционалом типа обсуждения. Кто это просил? Кто там общается? Вижу по 1-2 комментария под твитом, и это в лучшем случае. Основная масса обсуждения в самом твиттере ведёт. Непонятно зачем всё это.
Комментарий недоступен
А/Б тесты алгоритма выбора твитов есть? Если нет, то как вы живете вообще...