Browse Source

Small improvements

Markus-Rost 6 years ago
parent
commit
5e207c3c27
8 changed files with 28 additions and 23 deletions
  1. 1 1
      i18n/de.json
  2. 1 1
      i18n/en.json
  3. 2 2
      i18n/fr.json
  4. 1 1
      i18n/nl.json
  5. 2 2
      i18n/pl.json
  6. 2 2
      i18n/pt.json
  7. 2 2
      i18n/tr.json
  8. 17 12
      main.js

+ 1 - 1
i18n/de.json

@@ -74,7 +74,6 @@
 			["hydra_staff", "Gamepedia-Mitarbeiter"],
 			["bot", "Bot"],
 			["bureaucrat", "Bürokrat"],
-			["wiki_guardian", "Wiki Guardian"],
 			["sysop", "Administrator"],
 			["grasp", "GRASP"],
 			["directors", "Direktor"],
@@ -98,6 +97,7 @@
 		"block": {
 			"header": "%s ist derzeit gesperrt!",
 			"text": "Gesperrt am %1$s bis zum %2$s von %3$s mit der Begründung „%4$s”.",
+			"noreason": "Gesperrt am %1$s bis zum %2$s von %3$s.",
 			"until_infinity": "Ende aller Tage"
 		}
 	},

+ 1 - 1
i18n/en.json

@@ -69,7 +69,6 @@
 			["hydra_staff", "Gamepedia staff"],
 			["bot", "Bot"],
 			["bureaucrat", "Bureaucrat"],
-			["wiki_guardian", "Wiki Guardian"],
 			["sysop", "Administrator"],
 			["grasp", "GRASP"],
 			["directors", "Director"],
@@ -93,6 +92,7 @@
 		"block": {
 			"header": "%s is currently blocked!",
 			"text": "Blocked on %1$s until %2$s by %3$s with reason \"%4$s\".",
+			"noreason": "Blocked on %1$s until %2$s by %3$s.",
 			"until_infinity": "the end of all days"
 		}
 	},

+ 2 - 2
i18n/fr.json

@@ -72,7 +72,6 @@
 			["hydra_staff", "Staff de Gamepedia"],
 			["bot", "Robot"],
 			["bureaucrat", "Bureaucrate"],
-			["wiki_guardian", "Gardien du wiki"],
 			["sysop", "Administrateur"],
 			["grasp", "GRASP"],
 			["directors", "Directeur"],
@@ -95,7 +94,8 @@
 		},
 		"block": {
 			"header": "%s est actuellement bloqué !",
-			"text": "Bloqué le %1$s jusqu'au %2$s par %3$s avec la raison \"%4$s\".",
+			"text": "Bloqué le %1$s jusqu'au %2$s par %3$s avec la raison « %4$s ».",
+			"noreason": "Bloqué le %1$s jusqu'au %2$s par %3$s.",
 			"until_infinity": "moment de la fin des jours"
 		}
 	},

+ 1 - 1
i18n/nl.json

@@ -72,7 +72,6 @@
 			["hydra_staff", "Gamepedia staff"],
 			["bot", "Bot"],
 			["bureaucrat", "Bureaucraat"],
-			["wiki_guardian", "Wiki Guardian"],
 			["sysop", "Beheerder"],
 			["grasp", "GRASP"],
 			["directors", "Director"],
@@ -96,6 +95,7 @@
 		"block": {
 			"header": "%s is momenteel geblokkeerd!",
 			"text": "Geblokkeerd van %1$s tot %2$s door %3$s met reden \"%4$s\".",
+			"noreason": "Geblokkeerd van %1$s tot %2$s door %3$s.",
 			"until_infinity": "het einde van de wereld"
 		}
 	},

+ 2 - 2
i18n/pl.json

@@ -73,7 +73,6 @@
 			["hydra_staff", "personel Gamepedii"],
 			["bot", "Bot"],
 			["bureaucrat", "Biurokrata"],
-			["wiki_guardian", "Wiki Guardian"],
 			["sysop", "Adminsitrator"],
 			["GRASP", "GRASP"],
 			["directors", "Dyrektor"],
@@ -96,7 +95,8 @@
 		},
 		"block": {
 			"header": "%s jest obecnie zablokowany!",
-			"text": "Zablokowany %1$s do %2$s przez %3$s z powodu \"%4$s\".",
+			"text": "Zablokowano %1$s do %2$s przez %3$s z powodem \"%4$s\".",
+			"noreason": "Zablokowano %1$s do %2$s przez %3$s.",
 			"until_infinity": "do końca wszechświata"
 		}
 	},

+ 2 - 2
i18n/pt.json

@@ -79,7 +79,6 @@
 			["hydra_staff", "Equipe da Gamepedia"],
 			["bot", "Robô"],
 			["bureaucrat", "Burocrata"],
-			["wiki_guardian", "Guardião da Wiki"],
 			["sysop", "Administrador"],
 			["grasp", "GRASP"],
 			["directors", "Diretor"],
@@ -102,7 +101,8 @@
 		},
 		"block": {
 			"header": "%s está atualmente bloqueado!",
-			"text": "Bloqueado no %1$s até %2$s por %3$s pela razão \"%4$s\".",
+			"text": "Bloqueado em %1$s até %2$s por %3$s com motivo \"%4$s\".",
+			"noreason": "Bloqueado em %1$s até %2$s por %3$s.",
 			"until_infinity": "o fim de todos os dias"
 		}
 	},

+ 2 - 2
i18n/tr.json

@@ -74,7 +74,6 @@
 			["hydra_staff", "Gamepedia personeli"],
 			["bot", "Bot"],
 			["bureaucrat", "Bürokrat"],
-			["wiki_guardian", "Wiki Guardian"],
 			["sysop", "Yönetici"],
 			["grasp", "GRASP"],
 			["directors", "Director"],
@@ -97,7 +96,8 @@
 		},
 		"block": {
 			"header": "%s şu anda engelli!",
-			"text": "%1$s'dan %2$s'a kadar %1$s tarafından \"%4$s\" nedeniyle engellendi.",
+			"text": "%1$s platformundan %3$s tarafından \"%4$s\" nedeniyle %2$s süresinde engellendiniz.",
+			"noreason": "%1$s platformundan %3$s tarafından %2$s tarihine kadar engellendiniz.",
 			"until_infinity": "bütün günlerin sonu"
 		}
 	},

+ 17 - 12
main.js

@@ -114,7 +114,7 @@ client.on( 'ready', () => {
 			headers: {Authorization: process.env.dbggtoken},
 			body: {guildCount: client.guilds.size},
 			json: true
-		} );
+		}, () => {} );
 	}, 10800000 ).unref();
 } );
 	
@@ -214,9 +214,9 @@ function cmd_settings(lang, msg, args, line) {
 						if ( regex !== null ) edit_settings(lang, msg, 'wiki', 'https://' + regex[1] + '.gamepedia.com/');
 						else find_wikis(lang, msg, 'wiki', args[1].split(' '), nowikis);
 					} else msg.replyMsg( lang.settings.wikimissing + wikis, {}, true );
-				} else msg.replyMsg( text, {}, true );
+				} else msg.replyMsg( text, {split:true}, true );
 			}
-		} else msg.replyMsg( text, {}, true );
+		} else msg.replyMsg( text, {split:true}, true );
 	} else {
 		msg.reactEmoji('❌');
 	}
@@ -835,7 +835,7 @@ function check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = '', queryst
 				else if ( body.query.interwiki ) {
 					var inter = body.query.interwiki[0];
 					var intertitle = inter.title.substring(inter.iw.length + 1);
-					var regex = inter.url.match( /^(?:https?:)?\/\/([a-z\d-]{1,50})\.gamepedia\.com\// );
+					var regex = inter.url.match( /^(?:https?:)?\/\/([a-z\d-]{1,50})\.gamepedia\.com(?:\/|$)/ );
 					if ( regex !== null && selfcall < 5 ) {
 						if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
 							var iwtitle = decodeURIComponent( inter.url.replace( regex[0], '' ) ).replace( /\_/g, ' ' ).replaceSave( intertitle.replace( /\_/g, ' ' ), intertitle );
@@ -846,12 +846,12 @@ function check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = '', queryst
 							console.log( '- Aborted, paused.' );
 						}
 					} else {
-						regex = inter.url.match( /^(?:https?:)?\/\/([a-z\d-]{1,50}\.(?:wikipedia|mediawiki|wiktionary|wikimedia|wikibooks|wikisource|wikidata|wikiversity|wikiquote|wikinews|wikivoyage)\.org\/)wiki\// );
+						regex = inter.url.match( /^(?:https?:)?\/\/([a-z\d-]{1,50}\.(?:wikipedia|mediawiki|wiktionary|wikimedia|wikibooks|wikisource|wikidata|wikiversity|wikiquote|wikinews|wikivoyage)\.org)(?:\/wiki\/|\/?$)/ );
 						if ( regex !== null && selfcall < 5 ) {
 							if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
 								var iwtitle = decodeURIComponent( inter.url.replace( regex[0], '' ) ).replace( /\_/g, ' ' ).replaceSave( intertitle.replace( /\_/g, ' ' ), intertitle );
 								selfcall++;
-								check_wiki(lang, msg, iwtitle, 'https://' + regex[1] + 'w/', cmd + inter.iw + ':', reaction, spoiler, querystring, fragment, selfcall);
+								check_wiki(lang, msg, iwtitle, 'https://' + regex[1] + '/w/', cmd + inter.iw + ':', reaction, spoiler, querystring, fragment, selfcall);
 							} else {
 								if ( reaction ) reaction.removeEmoji();
 								console.log( '- Aborted, paused.' );
@@ -969,7 +969,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, querypage, c
 						if ( Date.parse(blockexpiry) > Date.now() ) isBlocked = true;
 						blockexpiry = new Date(blockexpiry).toLocaleString(lang.dateformat, timeoptions);
 					}
-					if ( isBlocked ) return [lang.user.block.header.replaceSave( '%s', block.user ), lang.user.block.text.replaceSave( '%1$s', blockedtimestamp ).replaceSave( '%2$s', blockexpiry ).replaceSave( '%3$s', '[[User:' + block.by + '|' + block.by + ']]' ).replaceSave( '%4$s', block.reason )];
+					if ( isBlocked ) return [lang.user.block.header.replaceSave( '%s', block.user ), lang.user.block[( block.reason ? 'text' : 'noreason' )].replaceSave( '%1$s', blockedtimestamp ).replaceSave( '%2$s', blockexpiry ).replaceSave( '%3$s', '[[User:' + block.by + '|' + block.by + ']]' ).replaceSave( '%4$s', block.reason )];
 				} ).filter( block => block !== undefined );
 				if ( username.includes( '/' ) ) {
 					var rangeprefix = username;
@@ -1115,7 +1115,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, querypage, c
 					}
 					var blockedby = '[[User:' + body.query.users[0].blockedby + '|' + body.query.users[0].blockedby + ']]';
 					var blockreason = body.query.users[0].blockreason;
-					var block = [lang.user.block.header.replaceSave( '%s', username ), lang.user.block.text.replaceSave( '%1$s', blockedtimestamp ).replaceSave( '%2$s', blockexpiry ).replaceSave( '%3$s', blockedby ).replaceSave( '%4$s', blockreason )];
+					var block = [lang.user.block.header.replaceSave( '%s', username ), lang.user.block[( blockreason ? 'text' : 'noreason' )].replaceSave( '%1$s', blockedtimestamp ).replaceSave( '%2$s', blockexpiry ).replaceSave( '%3$s', blockedby ).replaceSave( '%4$s', blockreason )];
 					
 					var pagelink = wiki.toLink() + namespace + username.toTitle() + linksuffix;
 					if ( msg.showEmbed() ) {
@@ -1135,7 +1135,9 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, querypage, c
 							console.log( '- ' + ( presponse && presponse.statusCode ) + ': Error while getting the user profile: ' + ( perror || pbody && ( pbody.error && pbody.error.info || pbody.errormsg ) ) );
 						}
 						else if ( pbody.profile['link-discord'] ) {
-							var discordmember = msg.guild.members.find( member => member.user.tag === pbody.profile['link-discord'] );
+							var discordmember = msg.guild.members.find( member => {
+								return member.user.tag === pbody.profile['link-discord'].replace( /^\s*([^@#:]{2,32}?)\s*#(\d{4,6})\s*$/, '$1#$2' );
+							} );
 							var discordname = [lang.user.info.discord,pbody.profile['link-discord'].escapeFormatting()];
 							if ( discordmember ) {
 								if ( msg.showEmbed() ) discordname[1] = discordmember.toString();
@@ -1626,7 +1628,7 @@ function cmd_random(lang, msg, wiki, reaction, spoiler) {
 			}
 			else embed.setThumbnail( ( body.query.general.logo.startsWith( '//' ) ? 'https:' : '' ) + body.query.general.logo );
 			
-			msg.sendChannel( spoiler + '🎲 <' + pagelink + '>' + spoiler, embed );
+			msg.sendChannel( '🎲 ' + spoiler + '<' + pagelink + '>' + spoiler, embed );
 		}
 		
 		if ( reaction ) reaction.removeEmoji();
@@ -1848,13 +1850,16 @@ function cmd_get(lang, msg, args, line) {
 			var guildsettings = ['Settings:', ( guild.id in settings ? '```json\n' + JSON.stringify( settings[guild.id], null, '\t' ) + '\n```' : '*default*' )];
 			if ( msg.showEmbed() ) {
 				var text = '';
-				var embed = new Discord.RichEmbed().addField( guildname[0], guildname[1] ).addField( guildowner[0], guildowner[1] ).addField( guildsize[0], guildsize[1] ).addField( guildpermissions[0], guildpermissions[1] ).addField( guildsettings[0], guildsettings[1] );
+				var embed = new Discord.RichEmbed().addField( guildname[0], guildname[1] ).addField( guildowner[0], guildowner[1] ).addField( guildsize[0], guildsize[1] ).addField( guildpermissions[0], guildpermissions[1] );
+				var split = Discord.Util.splitMessage( guildsettings[1], {maxLength:1000,prepend:'```json\n{',append:'\n```'} );
+				if ( split.length < guildsettings[1].length ) split.forEach( guildsettingspart => embed.addField( guildsettings[0], guildsettingspart ) );
+				else embed.addField( guildsettings[0], split );
 			}
 			else {
 				var embed = {};
 				var text = guildname.join(' ') + '\n' + guildowner.join(' ') + '\n' + guildsize.join(' ') + '\n' + guildpermissions.join(' ') + '\n' + guildsettings.join(' ');
 			}
-			msg.sendChannel( text, embed, true );
+			msg.sendChannel( text, {embed,split:{prepend:'```json\n{',append:'\n```'}}, true );
 		} else if ( client.guilds.some( guild => guild.members.has(id) ) ) {
 			var username = [];
 			var guildlist = ['Guilds:'];