prompts you to leave a comment when you've already left kudos
目前為
// ==UserScript==
// @name ao3 Comment Assist
// @version 1.0
// @history 1.0 - basic functionality
// @description prompts you to leave a comment when you've already left kudos
// @include /https?://archiveofourown\.org/.*works/\d+/
// @grant none
// @namespace https://greasyfork.org/users/36620
// ==/UserScript==
//ACNOWLEDGEMENT: most of the method is cribbed from "ao3 no rekudos" by scriptfairy
//Rest is cribbed from "Change Ao3 Kudos button text to Glory" by AlectoPerdita
//I do not know enough JS to do shit like this on my own
//https://greasyfork.org/en/scripts/406616-ao3-no-rekudos
//https://greasyfork.org/en/scripts/390197-change-ao3-kudos-button-text-to-glory/code
//SETUP//
var assist_type = 3;
//Set Comment Assist Mode notification type. You can choose from 3 different options.
//1: A commenting guide for people who have never done it before.
//2: A short comment prompt that gives you a jumping off point to write your own comment.
//3: Adds a simple reminder to leave a comment.
var fast_mode = false;
//Set to "true" to turn on fast posting mode.
//Hitting "enter" anywhere in the comment field will immediately send your comment.
var lat = 500;
//Delay in milliseconds, waiting for reply from OTW servers. (Check with CTRL+SHIFT+K)
//Definitions
var work_id, kudos, banner, kudo_btn, cmnt_btn, cmnt_field, id;
work_id = window.location.pathname;
work_id = work_id.substring(work_id.lastIndexOf('/')+1);
banner = document.getElementById('kudos_message');
kudo_btn = document.getElementById('new_kudo');
cmnt_btn = document.getElementById('comment_submit_for_'+work_id);
cmnt_field = document.getElementById('comment_content_for_'+work_id);
// List of Assist Mode comment
var assist_msg = Array(
"Extra kudos<3",
"[Comment assist long version]",
"[Comment assist short version]",
"[You've already left kudos. Why not leave a comment instead? :)]"
);
//Fast Posting Mode
function fastsend() {
cmnt_field.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
cmnt_btn.click();}
});
}
//Assist mode basic functionality
function assist() {
cmnt_field.value = assist_msg[assist_type];
cmnt_btn.focus();
window.scrollBy(0,200);
cmnt_field.focus();
if (fast_mode == true){
fastsend();}
}
function makeitwork() {
console.log('Comment Assist lat check');
if (banner.classList.contains("kudos_error") == true) {
assist();}
}
function delay(){
setTimeout(makeitwork,lat);
}
console.log("Assist Mode On");
kudo_btn.addEventListener("click", delay);