Как узнать вклад пользователя в тег, если он на него не подписан?
Это относится даже к своему собственному профилю. Можно увидеть только подписки. И даже в общем списке тегов свой вклад не отображается. А как узнать про других пользователей, вообще не понятно.
dollar, а если пройтись по страницам со списком ответов пользователя и просуммировать вклад.
Например, страница /user/dollar/tag_answers?tag=javascript и остальные с &page=
Сейчас там в сумме 1007. Эта сумма очков, делённая на 10 и округлённая методом floor отбажается в интерфейс пользователя. https://toster.ru/help/rating
В интерфейс пользователя вклад выводится как заработанная сумма очков, делённая на 10 и округлённая методом floor (отбрасыванием дробной части числа).
Как увеличивается вклад пользователя
При оценке его контента другими пользователями:
Его ответ принят как решение: +10 очков
Его ответ нравится: +3 очка
Ответы на собственные вопросы
Если автор вопроса сам дал ответ и получил на него отметки нравится, это засчитывается во вкладе.
Если автор вопроса сам дал ответ и признал его решением, это не засчитывается во вкладе.
var rating = 0;
document.querySelectorAll(".answer_wrapper").forEach(e=>{
const b = e.querySelector(".btn__counter");
const like = b ? parseInt(b.innerHTML) : 0;
const s = e.querySelector(".answer_solution .user-summary__nickname");
rating += like * 3;
if (s) {
const is_not_author = s.innerHTML.indexOf("author_mark")==-1;
if (is_not_author || like) {
// засчитывается ответ автора вопроса, только если получил отметки нравится
rating += 10;
}
}
})
console.log(rating, Math.floor(rating/10));
Сразу не обратил внимание, что в <span class="author_mark"> может стоять и отметка куратор тега.
Там нужно поменять indexOf("author_mark") на indexOf("Автор вопроса")