Reddit - Auto Show Collapsed Comments

Reddit - Auto Show First-Level Collapsed Comments/Replies. Reddit - 自动显示第一级的折叠评论

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Reddit - Auto Show Collapsed Comments
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  Reddit - Auto Show First-Level Collapsed Comments/Replies. Reddit - 自动显示第一级的折叠评论
// @author       Martin______X
// @match        https://www.reddit.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=reddit.com
// @grant        none
// @license      MIT
// ==/UserScript==

const simpleClick = (async (button) => {
    button.click();
});
const moreCommentsInterval = setInterval(() => {
    try {
        let comments = document.querySelectorAll('shreddit-comment[thingid]');
        for (let i = 0; i < comments.length; i++) {
            let comment = comments[i];
            if (!comment.hasAttribute("banger")) {
                if (comment.hasAttribute("collapsed")) {
                    let button = comment.shadowRoot.querySelector("button");
                    if (button) {
                        simpleClick(button);
                    }
                }
                comment.setAttribute("banger", "");
            }
        }

        let tracker = document.querySelector('faceplate-tracker[noun="load_more_comments"]');
        if (tracker) {
            let button = tracker.querySelector("button");
            if (button) {
                simpleClick(button);
            }
        }
    } catch (error) {
        //console.error(error)
    }
}, 1);