1
0
Markus-Rost 4 жил өмнө
parent
commit
feacc33f0b
7 өөрчлөгдсөн 299 нэмэгдсэн , 493 устгасан
  1. 1 1
      RcGcDb
  2. 18 3
      bot.js
  3. 5 5
      cmds/wiki/overview.js
  4. 7 13
      cmds/wiki/user.js
  5. 264 467
      package-lock.json
  6. 3 3
      package.json
  7. 1 1
      util/edit_diff.js

+ 1 - 1
RcGcDb

@@ -1 +1 @@
-Subproject commit f5d1a35619deaceb0b297a148d73e3bb873c34ef
+Subproject commit e0d0350007d1f333dbf18bef5797cfcb7645751b

+ 18 - 3
bot.js

@@ -335,13 +335,28 @@ global.log_error = function(error, isBig = false, type = '') {
 	}
 }
 
+const common_warnings = {
+	main: [
+		'Unrecognized parameters: piprop, explaintext, exsectionformat, exlimit.',
+		'Unrecognized parameter: piprop.'
+	],
+	query: [
+		'Unrecognized values for parameter "prop": pageimages, extracts.',
+		'Unrecognized value for parameter "prop": pageimages.'
+	]
+}
+
 global.log_warn = function(warning, api = true) {
 	if ( isDebug ) {
 		console.warn( '--- Warning start ---\n' + util.inspect( warning ) + '\n--- Warning end ---' );
-	} else {
-		if ( api ) console.warn( '- Warning: ' + Object.keys(warning).join(', ') );
-		else console.warn( '--- Warning ---\n' + util.inspect( warning ) );
 	}
+	else if ( api ) {
+		if ( common_warnings.main.includes( warning?.main?.['*'] ) ) delete warning.main;
+		if ( common_warnings.query.includes( warning?.query?.['*'] ) ) delete warning.query;
+		var warningKeys = Object.keys(warning);
+		if ( warningKeys.length ) console.warn( '- Warning: ' + warningKeys.join(', ') );
+	}
+	else console.warn( '--- Warning ---\n' + util.inspect( warning ) );
 }
 
 /**

+ 5 - 5
cmds/wiki/overview.js

@@ -16,7 +16,7 @@ getAllSites.then( sites => allSites = sites );
  */
 function gamepedia_overview(lang, msg, wiki, reaction, spoiler) {
 	if ( !allSites.length ) getAllSites.update();
-	got.get( wiki + 'api.php?action=query&meta=allmessages|siteinfo&ammessages=custom-Wiki_Manager|custom-GamepediaNotice|custom-FandomMergeNotice&amenableparser=true&siprop=general|statistics|languages&siinlanguagecode=' + lang.lang + '&list=allrevisions&arvdir=newer&arvlimit=1&arvprop=timestamp&titles=Special:Statistics&format=json' ).then( response => {
+	got.get( wiki + 'api.php?action=query&meta=allmessages|siteinfo&ammessages=custom-Wiki_Manager|custom-GamepediaNotice|custom-FandomMergeNotice&amenableparser=true&siprop=general|statistics|languages&siinlanguagecode=' + lang.lang + '&list=logevents&ledir=newer&lelimit=1&leprop=timestamp&titles=Special:Statistics&format=json' ).then( response => {
 		var body = response.body;
 		if ( body && body.warnings ) log_warn(body.warnings);
 		if ( response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.pages ) {
@@ -55,9 +55,9 @@ function gamepedia_overview(lang, msg, wiki, reaction, spoiler) {
 			}
 			var created = [lang.get('overview.created')];
 			var creation_date = null;
-			if ( body.query.allrevisions?.[0]?.revisions?.[0]?.timestamp ) {
-				creation_date = new Date(body.query.allrevisions[0].revisions[0].timestamp);
-				created.push(creation_date.toLocaleString(lang.get('dateformat'), timeoptions));
+			if ( body.query.logevents?.[0]?.timestamp ) {
+				creation_date = new Date(body.query.logevents[0].timestamp);
+				created[1] = creation_date.toLocaleString(lang.get('dateformat'), timeoptions);
 			}
 			var language = [lang.get('overview.lang'), body.query.languages.find( language => {
 				return language.code === body.query.general.lang;
@@ -112,7 +112,7 @@ function gamepedia_overview(lang, msg, wiki, reaction, spoiler) {
 					var vertical = [lang.get('overview.vertical'), site.hub];
 					var topic = [lang.get('overview.topic'), site.topic];
 					var founder = [lang.get('overview.founder'), site.founding_user_id];
-					if ( created[1] && creation_date > new Date(site.creation_date) ) {
+					if ( site.creation_date && creation_date > new Date(site.creation_date) ) {
 						creation_date = new Date(site.creation_date);
 						created[1] = creation_date.toLocaleString(lang.get('dateformat'), timeoptions);
 					}

+ 7 - 13
cmds/wiki/user.js

@@ -369,6 +369,11 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm
 						value: '[' + pbody.userData.localEdits + '](' + wiki.toLink(contribs + username, '', '', true) + ')',
 						inline: true
 					});
+					if ( pbody.userData.posts ) embed.spliceFields(1, 0, {
+						name: lang.get('user.info.postcount'),
+						value: '[' + pbody.userData.posts + '](' + wiki + 'f/u/' + queryuser.userid + ')',
+						inline: true
+					});
 					if ( pbody.userData.avatar && pbody.userData.avatar !== 'https://static.wikia.nocookie.net/663e53f7-1e79-4906-95a7-2c1df4ebbada/thumbnail/width/400/height/400' ) {
 						embed.setThumbnail( pbody.userData.avatar.replace( '/thumbnail/width/400/height/400', '' ) );
 					}
@@ -381,6 +386,7 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm
 				else {
 					let splittext = text.split('\n');
 					splittext.splice(4, 1, editcount[0] + ' ' + pbody.userData.localEdits);
+					if ( pbody.userData.posts ) splittext.splice(5, 0, lang.get('user.info.postcount') + ' ' + pbody.userData.posts);
 					text = splittext.join('\n');
 				}
 				var discord = '';
@@ -418,7 +424,7 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm
 						}
 					}
 				}, error => {
-					console.log( '- Error while getting the user profile: ' + error );
+					console.log( '- Error while getting the curse profile: ' + error );
 				} );
 				if ( discord ) {
 					if ( msg.channel.isGuild() ) {
@@ -432,18 +438,6 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm
 					if ( msg.showEmbed() ) embed.addField( discordname[0], discordname[1], true );
 					else text += '\n' + discordname.join(' ');
 				}
-				if ( pbody.userData.posts ) {
-					if ( msg.showEmbed() ) embed.spliceFields(1, 0, {
-						name: lang.get('user.info.postcount'),
-						value: '[' + pbody.userData.posts + '](' + wiki + 'f/u/' + queryuser.userid + ')',
-						inline: true
-					});
-					else {
-						let splittext = text.split('\n');
-						splittext.splice(5, 0, lang.get('user.info.postcount') + ' ' + pbody.userData.posts);
-						text = splittext.join('\n');
-					}
-				}
 			}, error => {
 				console.log( '- Error while getting the user profile: ' + error );
 			} ).finally( () => {

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 264 - 467
package-lock.json


+ 3 - 3
package.json

@@ -17,12 +17,12 @@
   "dependencies": {
     "cheerio": "^1.0.0-rc.3",
     "discord-oauth2": "^2.5.0",
-    "discord.js": "^12.3.1",
+    "discord.js": "^12.4.1",
     "dotenv": "^8.2.0",
     "full-icu": "^1.3.1",
-    "got": "^11.7.0",
+    "got": "^11.8.0",
     "htmlparser2": "^5.0.0",
-    "npm": "^6.14.8",
+    "npm": "^7.0.5",
     "sqlite3": "^5.0.0"
   },
   "repository": {

+ 1 - 1
util/edit_diff.js

@@ -65,7 +65,7 @@ function diffParser(html, more, whitespace) {
 				}
 				if ( last_del !== null ) {
 					del_length++;
-					if ( empty && last_del.trim().length && !last_ins.includes( '~~' ) ) {
+					if ( empty && last_del.trim().length && !last_del.includes( '~~' ) ) {
 						del_length += 4;
 						last_del = '~~' + last_del + '~~';
 					}

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно