User
Difference between revisions of "Yug/common.js"
< User:Yug
(remove word generator) Tag: Replaced |
|||
Line 4: | Line 4: | ||
mw.loader.load( '/index.ptitle=User:Elfix/MediaWiki:SoundLibrary.js&action=raw&ctype=text/javascript'); | 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() { | ||
+ | 'use strict'; | ||
+ | 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); | ||
+ | } | ||
+ | }); | ||
+ | } | ||
+ | } | ||
+ | }); | ||
+ | })(); |
Revision as of 14:19, 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() {
'use strict';
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);
}
});
}
}
});
})();