User
Difference between revisions of "Yug/common.js"
< User:Yug
Line 13: | Line 13: | ||
// Fetch current data | // Fetch current data | ||
− | fetch("https://lingualibre.org/api?action=wbgetentities&format=json&ids=" + entityId) | + | fetch("https://lingualibre.org/api.php?action=wbgetentities&format=json&ids=" + entityId) |
.then(function(response) { | .then(function(response) { | ||
return response.json(); | return response.json(); | ||
Line 39: | Line 39: | ||
// Submit changes | // Submit changes | ||
− | fetch("https://lingualibre.org/api?action=wbeditentity&format=json", { | + | fetch("https://lingualibre.org/api.php?action=wbeditentity&format=json", { |
method: "POST", | method: "POST", | ||
body: JSON.stringify({ | body: JSON.stringify({ |
Revision as of 14:51, 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
(function() {
var entityId = "Q170146"; // Your Wikidata entity ID (QID)
var propertyId = "P4"; // Property ID (P4)
var newValue = "Q359"; // Value to set (Q359)
// Fetch current data
fetch("https://lingualibre.org/api.php?action=wbgetentities&format=json&ids=" + entityId)
.then(function(response) {
return response.json();
})
.then(function(data) {
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", "359")
},
type: "wikibase-entityid"
}
},
rank: "normal",
references: [],
}
];
// Submit changes
fetch("https://lingualibre.org/api.php?action=wbeditentity&format=json", {
method: "POST",
body: JSON.stringify({
id: entityId,
data: JSON.stringify(data.entities[entityId]),
summary: "Updating property P4",
}),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})
.then(function(response) {
return response.json();
})
.then(function(responseData) {
console.log("Edit response:", responseData);
})
.catch(function(error) {
console.error("An error occurred:", error);
});
}
})
.catch(function(error) {
console.error("An error occurred:", error);
});
})();