User

Difference between revisions of "Yug/common.js"

< User:Yug

Line 23: Line 23:
 
     GM_xmlhttpRequest({
 
     GM_xmlhttpRequest({
 
         method: "GET",
 
         method: "GET",
         url: `https://lingualibre.org/api.php?action=wbgetentities&format=json&ids=${entityId}`,
+
         url: "https://lingualibre.org/api.php?action=wbgetentities&format=json&ids="+entityId,
 
         onload: function(response) {
 
         onload: function(response) {
 
             const data = JSON.parse(response.responseText);
 
             const data = JSON.parse(response.responseText);

Revision as of 14:23, 2 October 2023

// Modules loader, conditional
// Sound library
if(/^User:Elfix\/LinguaLibre:Explore_the_sound_library(\/[a-z_-]+)?$/.test( mw.config.get( 'wgPageName' ) ) ) {
 mw.loader.load( '/index.ptitle=User:Elfix/MediaWiki:SoundLibrary.js&action=raw&ctype=text/javascript'); 
}


// ==UserScript==
// @name         Wikidata Editor
// @namespace    https://example.com
// @version      1.0
// @description  Edit a Wikidata page
// @include      https://www.wikidata.org/wiki/Q*
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    const entityId = "Q170146"; // Your Wikidata entity ID (QID)
    const propertyId = "P4"; // Property ID (P407 for language of work or name)
    const newValue = "Q359"; // Value to set (Q356134 for English)

    // Fetch current data
    GM_xmlhttpRequest({
        method: "GET",
        url: "https://lingualibre.org/api.php?action=wbgetentities&format=json&ids="+entityId,
        onload: function(response) {
            const data = JSON.parse(response.responseText);
            if (data.success) {
                // Modify data
                data.entities[entityId].claims[propertyId] = [
                    {
                        mainsnak: {
                            snaktype: "value",
                            property: propertyId,
                            datavalue: {
                                value: {
                                    "entity-type": "item",
                                    "numeric-id": newValue.replace("Q", "")
                                },
                                type: "wikibase-entityid"
                            }
                        },
                        rank: "normal",
                        references: [],
                    }
                ];

                // Submit changes
                GM_xmlhttpRequest({
                    method: "POST",
                    url: "https://lingualibre/api.php?action=wbeditentity&format=json",
                    data: JSON.stringify({
                        id: entityId,
                        data: JSON.stringify(data.entities[entityId]),
                        summary: "Updating language of work or name",
                    }),
                    headers: {
                        "Content-Type": "application/x-www-form-urlencoded",
                    },
                    onload: function(response) {
                        console.log("Edit response:", response.responseText);
                    }
                });
            }
        }
    });
})();