a tool for Bitcointalk Mention Autocomplete
Dit script moet niet direct worden geïnstalleerd - het is een bibliotheek voor andere scripts om op te nemen met de meta-richtlijn // @require https://update.greasyfork.org/scripts/593467/1915978/Bitcointalk%20Mention%20Autocomplete.js
// ==UserScript==
// @name Bitcointalk Mention Autocomplete
// @namespace https://greasyfork.org/users/gakjahat
// @version 0.1
// @description Fitur autocomplete mention untuk username Bitcointalk langsung dari thread tanpa database.
// @author gakjahat
// @match https://bitcointalk.org/*
// @include https://bitcointalk.org/*
// @grant none
// ==UserScript==
(function() {
'use strict';
function getThreadUsernames() {
const userLinks = document.querySelectorAll('td.postercol b a, .mirrored b a');
const usernames = new Set();
userLinks.forEach(link => {
if (link.textContent) {
usernames.add(link.textContent.trim());
}
});
return Array.from(usernames);
}
const textarea = document.querySelector('textarea[name="message"]');
if (textarea) {
textarea.addEventListener('input', () => {
const text = textarea.value;
const cursorPosition = textarea.selectionStart;
const lastWord = text.slice(0, cursorPosition).split(/\s+/).pop();
if (lastWord && lastWord.startsWith('@')) {
const query = lastWord.slice(1).toLowerCase();
const availableUsers = getThreadUsernames();
const matches = availableUsers.filter(user =>
user.toLowerCase().startsWith(query)
);
console.log('Rekomendasi Username:', matches);
}
});
}
})();