Nyaa - AnimeTosho comments

Add AnimeTosho comments section to releases on Nyaa.si

当前为 2025-08-09 提交的版本,查看 最新版本

// ==UserScript==
// @name        Nyaa - AnimeTosho comments
// @namespace   Violentmonkey Scripts
// @match       *://nyaa.si/view/*
// @grant       GM.xmlHttpRequest
// @version     1.1
// @author      g
// @description Add AnimeTosho comments section to releases on Nyaa.si
// ==/UserScript==

const nyaaid = window.location.pathname.split("/")[2];
const tosho_url = "https://animetosho.org/view/n" + nyaaid;

const nyaa_comments = document.getElementById("comments");
const tosho_comment_container = document.createElement("div");
tosho_comment_container.id = "tosho-comments"
tosho_comment_container.className = "panel panel-default"
tosho_comment_container.innerHTML = '<div class="panel-heading">\
  <h3 class="panel-title">AnimeTosho Comments</h3>\
  </div>'
nyaa_comments.insertAdjacentElement("afterend", tosho_comment_container);


function filter_comments(comments) {
  let a = new Array()
  for (let element of comments.childNodes) {
    if (element.className == "comment" || element.className == "comment2") {
      a.push(element);
    }
    if (element.id.startsWith("comment_body_")) {
      a.push.apply(a, filter_comments(element));
    }

  }
  return a;
}

function find_avatar(comment) {
  for (let element of comment.childNodes) {
    if (element.className.startsWith("comment_user_avatar")) {
      return element;
    }
  }
}




GM.xmlHttpRequest({
  method: "GET",
  url: tosho_url,
}).then(function(tosho_response) {



let tosho_document = tosho_response.responseXML;
let tosho_comments = tosho_document.getElementById("view_comments");
let tosho_avatars_css = tosho_document.getElementsByTagName("style")[0];



let nyaa_tosho_box = document.getElementById("tosho-comments");
if (tosho_avatars_css) {
  nyaa_comments.insertAdjacentElement("beforebegin", tosho_avatars_css);
}


function make_comment_html(tosho_comment) {

  comment_info = tosho_comment.getElementsByClassName("comment_user")[0].children[0].innerHTML.split(" — ");
  time = comment_info[0];
  user = comment_info[1];
  comment_body = tosho_comment.getElementsByClassName("comment_message")[0];

  const comment_element = document.createElement("div");
  comment_element.className = "panel panel-default comment-panel"

  com_html = '<div class="panel-body">'

  if (tosho_avatars_css) {
    avatar = find_avatar(tosho_comment);
    if (avatar) {
      com_html += '<div class="col-md-2">'
      com_html += avatar.outerHTML
      com_html += '</div>'
    }
  }
  com_html += '<div class="comment-details">' + user + " <small>" + time + "</small></div>"
  com_html += '<div class="comment-body">' + comment_body.innerHTML + "</div>"
  com_html += "</div>"

  comment_element.innerHTML = com_html;



  for (let comment2 of filter_comments(tosho_comment)) {
    comment2_element = make_comment_html(comment2);
    comment_element.appendChild(comment2_element);
  }

  return comment_element;
}



for (let element of filter_comments(tosho_comments)) {
  comment_html = make_comment_html(element);
  nyaa_tosho_box.insertAdjacentElement("beforeend", comment_html);
}

const tosho_link = document.createElement("p");
tosho_link.className = "comment-panel"
tosho_link.innerHTML = '<a href="' + tosho_url + '">Please visit AnimeTosho to participate</a>'
tosho_comment_container.appendChild(tosho_link)



})

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址