| 
														
															@@ -916,7 +916,7 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	else if ( aliasInvoke === 'diff' && args.join('') && !querystring && !fragment ) gamepedia_diff(lang, msg, args, wiki, reaction, spoiler); 
														 | 
														
														 | 
														
															 	else if ( aliasInvoke === 'diff' && args.join('') && !querystring && !fragment ) gamepedia_diff(lang, msg, args, wiki, reaction, spoiler); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	else { 
														 | 
														
														 | 
														
															 	else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var noRedirect = ( /(?:^|&)redirect=no(?:&|$)/.test(querystring) || /(?:^|&)action=(?!view(?:&|$))/.test(querystring) ); 
														 | 
														
														 | 
														
															 		var noRedirect = ( /(?:^|&)redirect=no(?:&|$)/.test(querystring) || /(?:^|&)action=(?!view(?:&|$))/.test(querystring) ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		got.get( wiki + 'api.php?action=query&meta=siteinfo&siprop=general|namespaces|specialpagealiases&iwurl=true' + ( noRedirect ? '' : '&redirects=true' ) + '&prop=pageimages|categoryinfo|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&exsentences=10&exintro=true&explaintext=true&titles=' + encodeURIComponent( title ) + '&format=json', { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		got.get( wiki + 'api.php?action=query&meta=siteinfo&siprop=general|namespaces|specialpagealiases&iwurl=true' + ( noRedirect ? '' : '&redirects=true' ) + '&prop=pageimages|categoryinfo|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&explaintext=true&exsectionformat=raw&exlimit=1&titles=' + encodeURIComponent( title ) + '&format=json', { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			responseType: 'json' 
														 | 
														
														 | 
														
															 			responseType: 'json' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} ).then( response => { 
														 | 
														
														 | 
														
															 		} ).then( response => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			var body = response.body; 
														 | 
														
														 | 
														
															 			var body = response.body; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -999,7 +999,7 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} ); 
														 | 
														
														 | 
														
															 						} ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					} 
														 | 
														
														 | 
														
															 					} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					else if ( ( querypage.missing !== undefined && querypage.known === undefined && !( noRedirect || querypage.categoryinfo ) ) || querypage.invalid !== undefined ) { 
														 | 
														
														 | 
														
															 					else if ( ( querypage.missing !== undefined && querypage.known === undefined && !( noRedirect || querypage.categoryinfo ) ) || querypage.invalid !== undefined ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						got.get( wiki + 'api.php?action=query&prop=pageimages|categoryinfo|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&exsentences=10&exintro=true&explaintext=true&generator=search&gsrnamespace=4|12|14|' + Object.values(body.query.namespaces).filter( ns => ns.content !== undefined ).map( ns => ns.id ).join('|') + '&gsrlimit=1&gsrsearch=' + encodeURIComponent( title ) + '&format=json', { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						got.get( wiki + 'api.php?action=query&prop=pageimages|categoryinfo|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&explaintext=true&exsectionformat=raw&exlimit=1&generator=search&gsrnamespace=4|12|14|' + Object.values(body.query.namespaces).filter( ns => ns.content !== undefined ).map( ns => ns.id ).join('|') + '&gsrlimit=1&gsrsearch=' + encodeURIComponent( title ) + '&format=json', { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							responseType: 'json' 
														 | 
														
														 | 
														
															 							responseType: 'json' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} ).then( srresponse => { 
														 | 
														
														 | 
														
															 						} ).then( srresponse => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var srbody = srresponse.body; 
														 | 
														
														 | 
														
															 							var srbody = srresponse.body; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1022,16 +1022,16 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
														
														 | 
														
															 										if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										embed.setTitle( displaytitle ); 
														 | 
														
														 | 
														
															 										embed.setTitle( displaytitle ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									} 
														 | 
														
														 | 
														
															 									} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+									if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+										var extract = extract_desc(querypage.extract, fragment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+										embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+										if ( extract[2].length ) embed.addField( extract[1], extract[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+									} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
														
														 | 
														
															 									if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
														
														 | 
														
															 										var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 										if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										embed.setDescription( description ); 
														 | 
														
														 | 
														
															 										embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									} 
														 | 
														
														 | 
														
															 									} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-									else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-										var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-										if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-										embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-									} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 									if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
														
														 | 
														
															 									if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										var pageimage = querypage.original.source; 
														 | 
														
														 | 
														
															 										var pageimage = querypage.original.source; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 										if ( querypage.ns === 6 ) { 
														 | 
														
														 | 
														
															 										if ( querypage.ns === 6 ) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1098,16 +1098,16 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
														
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							var extract = extract_desc(querypage.extract, ( fragment || ( body.query.redirects && body.query.redirects[0].tofragment ) || '' )); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							if ( extract[2].length ) embed.addField( extract[1], extract[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
														
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setDescription( description ); 
														 | 
														
														 | 
														
															 							embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
														
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( querypage.ns === 6 ) { 
														 | 
														
														 | 
														
															 							if ( querypage.ns === 6 ) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1202,7 +1202,7 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				else { 
														 | 
														
														 | 
														
															 				else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					var pagelink = wiki.toLink(body.query.general.mainpage, querystring.toTitle(), fragment, body.query.general); 
														 | 
														
														 | 
														
															 					var pagelink = wiki.toLink(body.query.general.mainpage, querystring.toTitle(), fragment, body.query.general); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					var embed = new Discord.MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( body.query.general.mainpage.escapeFormatting() ).setURL( pagelink ).setThumbnail( ( body.query.general.logo.startsWith( '//' ) ? 'https:' : '' ) + body.query.general.logo ); 
														 | 
														
														 | 
														
															 					var embed = new Discord.MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( body.query.general.mainpage.escapeFormatting() ).setURL( pagelink ).setThumbnail( ( body.query.general.logo.startsWith( '//' ) ? 'https:' : '' ) + body.query.general.logo ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-					got.get( wiki + 'api.php?action=query' + ( noRedirect ? '' : '&redirects=true' ) + '&prop=pageprops|extracts&ppprop=description|displaytitle&exsentences=10&exintro=true&explaintext=true&titles=' + encodeURIComponent( body.query.general.mainpage ) + '&format=json', { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					got.get( wiki + 'api.php?action=query' + ( noRedirect ? '' : '&redirects=true' ) + '&prop=pageprops|extracts&ppprop=description|displaytitle&explaintext=true&exsectionformat=raw&exlimit=1&titles=' + encodeURIComponent( body.query.general.mainpage ) + '&format=json', { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						responseType: 'json' 
														 | 
														
														 | 
														
															 						responseType: 'json' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					} ).then( mpresponse => { 
														 | 
														
														 | 
														
															 					} ).then( mpresponse => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						var mpbody = mpresponse.body; 
														 | 
														
														 | 
														
															 						var mpbody = mpresponse.body; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1216,16 +1216,16 @@ function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reaction, spoiler = ' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
														
														 | 
														
															 								if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								embed.setTitle( displaytitle ); 
														 | 
														
														 | 
														
															 								embed.setTitle( displaytitle ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							} 
														 | 
														
														 | 
														
															 							} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								var extract = extract_desc(querypage.extract, fragment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								if ( extract[2].length ) embed.addField( extract[1], extract[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
														
														 | 
														
															 							if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
														
														 | 
														
															 								var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 								if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								embed.setDescription( description ); 
														 | 
														
														 | 
														
															 								embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							} 
														 | 
														
														 | 
														
															 							} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-								embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					}, error => { 
														 | 
														
														 | 
														
															 					}, error => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						console.log( '- Error while getting the main page: ' + error ); 
														 | 
														
														 | 
														
															 						console.log( '- Error while getting the main page: ' + error ); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2539,8 +2539,8 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} ).then( response => { 
														 | 
														
														 | 
														
															 		} ).then( response => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			var body = response.body; 
														 | 
														
														 | 
														
															 			var body = response.body; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if ( body && body.warnings ) log_warn(body.warnings); 
														 | 
														
														 | 
														
															 			if ( body && body.warnings ) log_warn(body.warnings); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if ( response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.blocks ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if ( body && body.error && ( body.error.code === 'param_ip' || body.error.code === 'cidrtoobroad' ) ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if ( response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.blocks || fragment ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( body && body.error && ( body.error.code === 'param_ip' || body.error.code === 'cidrtoobroad' ) || fragment ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					if ( querypage.missing !== undefined || querypage.ns === -1 ) msg.reactEmoji('error'); 
														 | 
														
														 | 
														
															 					if ( querypage.missing !== undefined || querypage.ns === -1 ) msg.reactEmoji('error'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					else { 
														 | 
														
														 | 
														
															 					else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						var pagelink = wiki.toLink(querypage.title, querystring.toTitle(), fragment); 
														 | 
														
														 | 
														
															 						var pagelink = wiki.toLink(querypage.title, querystring.toTitle(), fragment); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2550,16 +2550,16 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
														
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							var extract = extract_desc(querypage.extract, fragment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							if ( extract[2].length ) embed.addField( extract[1], extract[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
														
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setDescription( description ); 
														 | 
														
														 | 
														
															 							embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageimage && querypage.original ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageimage && querypage.original ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
														
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setThumbnail( pageimage ); 
														 | 
														
														 | 
														
															 							embed.setThumbnail( pageimage ); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2637,6 +2637,15 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( msg.showEmbed() ) { 
														 | 
														
														 | 
														
															 						if ( msg.showEmbed() ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var text = '<' + pagelink + '>'; 
														 | 
														
														 | 
														
															 							var text = '<' + pagelink + '>'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var embed = new Discord.MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', body.query.general, true) + ')' ); 
														 | 
														
														 | 
														
															 							var embed = new Discord.MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', body.query.general, true) + ')' ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							else if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								var extract = extract_desc(querypage.extract); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+								embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( blocks.length ) blocks.forEach( block => { 
														 | 
														
														 | 
														
															 							if ( blocks.length ) blocks.forEach( block => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								block.text = block.text.replaceSave( '%3$s', '[' + block.by.escapeFormatting() + '](' + wiki.toLink('User:' + block.by, '', '', body.query.general, true) + ')' ); 
														 | 
														
														 | 
														
															 								block.text = block.text.replaceSave( '%3$s', '[' + block.by.escapeFormatting() + '](' + wiki.toLink('User:' + block.by, '', '', body.query.general, true) + ')' ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 								if ( block.reason ) block.text = block.text.replaceSave( '%4$s', block.reason.toMarkdown(wiki, body.query.general) ); 
														 | 
														
														 | 
														
															 								if ( block.reason ) block.text = block.text.replaceSave( '%4$s', block.reason.toMarkdown(wiki, body.query.general) ); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2685,7 +2694,7 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			else { 
														 | 
														
														 | 
														
															 			else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				var queryuser = body.query.users[0]; 
														 | 
														
														 | 
														
															 				var queryuser = body.query.users[0]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if ( queryuser.missing !== undefined || queryuser.invalid !== undefined ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( queryuser.missing !== undefined || queryuser.invalid !== undefined || fragment ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					if ( querypage.missing !== undefined || querypage.ns === -1 ) msg.reactEmoji('🤷'); 
														 | 
														
														 | 
														
															 					if ( querypage.missing !== undefined || querypage.ns === -1 ) msg.reactEmoji('🤷'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					else { 
														 | 
														
														 | 
														
															 					else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						var pagelink = wiki.toLink(querypage.title, querystring.toTitle(), fragment, body.query.general); 
														 | 
														
														 | 
														
															 						var pagelink = wiki.toLink(querypage.title, querystring.toTitle(), fragment, body.query.general); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2695,16 +2704,16 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
														
														 | 
														
															 							embed.setTitle( displaytitle ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							var extract = extract_desc(querypage.extract, fragment); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							if ( extract[2].length ) embed.addField( extract[1], extract[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageprops && querypage.pageprops.description ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
														
														 | 
														
															 							var description = htmlToPlain( querypage.pageprops.description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 							if ( description.length > 2000 ) description = description.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setDescription( description ); 
														 | 
														
														 | 
														
															 							embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-						} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						if ( querypage.pageimage && querypage.original ) { 
														 | 
														
														 | 
														
															 						if ( querypage.pageimage && querypage.original ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
														
														 | 
														
															 							var pageimage = querypage.original.source; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setThumbnail( pageimage ); 
														 | 
														
														 | 
														
															 							embed.setThumbnail( pageimage ); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -2775,9 +2784,8 @@ function gamepedia_user(lang, msg, namespace, username, wiki, querystring, fragm 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 							embed.setDescription( description ); 
														 | 
														
														 | 
														
															 							embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 						else if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-							embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							var extract = extract_desc(querypage.extract); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+							embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 						} 
														 | 
														
														 | 
														
															 						} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					} 
														 | 
														
														 | 
														
															 					} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					else { 
														 | 
														
														 | 
														
															 					else { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -4588,7 +4596,7 @@ function fandom_diffsend(lang, msg, args, wiki, reaction, spoiler, compare) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 function gamepedia_random(lang, msg, wiki, reaction, spoiler) { 
														 | 
														
														 | 
														
															 function gamepedia_random(lang, msg, wiki, reaction, spoiler) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	got.get( wiki + 'api.php?action=query&meta=siteinfo&siprop=general&prop=pageimages|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&exsentences=10&exintro=true&explaintext=true&generator=random&grnnamespace=0&format=json', { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	got.get( wiki + 'api.php?action=query&meta=siteinfo&siprop=general&prop=pageimages|pageprops|extracts&piprop=original|name&ppprop=description|displaytitle&explaintext=true&exsectionformat=raw&exlimit=1&generator=random&grnnamespace=0&format=json', { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		responseType: 'json' 
														 | 
														
														 | 
														
															 		responseType: 'json' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} ).then( response => { 
														 | 
														
														 | 
														
															 	} ).then( response => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var body = response.body; 
														 | 
														
														 | 
														
															 		var body = response.body; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -4618,9 +4626,8 @@ function gamepedia_random(lang, msg, wiki, reaction, spoiler) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				embed.setDescription( description ); 
														 | 
														
														 | 
														
															 				embed.setDescription( description ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			else if ( querypage.extract ) { 
														 | 
														
														 | 
														
															 			else if ( querypage.extract ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				var extract = querypage.extract.escapeFormatting(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				embed.setDescription( extract ); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				var extract = extract_desc(querypage.extract); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				embed.setDescription( extract[0] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
														
														 | 
														
															 			if ( querypage.pageimage && querypage.original && querypage.title !== body.query.general.mainpage ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				embed.setThumbnail( querypage.original.source ); 
														 | 
														
														 | 
														
															 				embed.setThumbnail( querypage.original.source ); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5664,6 +5671,70 @@ function discussion_formatting(jsonModel) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return description; 
														 | 
														
														 | 
														
															 	return description; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+function extract_desc(text = '', fragment = '') { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var sectionIndex = text.indexOf('\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var extract = ( sectionIndex !== -1 ? text.substring(0, sectionIndex) : text ).trim().escapeFormatting(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if ( extract.length > 2000 ) extract = extract.substring(0, 2000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var section = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var regex = /\ufffd{2}(\d)\ufffd{2}([^\n]+)/g; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var sectionHeader = ''; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var sectionText = ''; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	while ( fragment && ( section = regex.exec(text) ) !== null ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ( section[2].replace( / /g, '_' ) !== fragment.replace( / /g, '_' ) ) continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		sectionHeader = section[2].escapeFormatting(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ( sectionHeader.length > 240 ) sectionHeader = sectionHeader.substring(0, 240) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		sectionHeader = section_formatting(sectionHeader, section[1]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		sectionText = text.substring(regex.lastIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		switch ( section[1] ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '6': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd6\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '5': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd5\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '4': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd4\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '3': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd3\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '2': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd2\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			case '1': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				sectionIndex = sectionText.indexOf('\ufffd\ufffd1\ufffd\ufffd'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if ( sectionIndex !== -1 ) sectionText = sectionText.substring(0, sectionIndex); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		sectionText = sectionText.trim().escapeFormatting().replace( /\ufffd{2}(\d)\ufffd{2}([^\n]+)/g, (match, n, sectionTitle) => { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			return section_formatting(sectionTitle, n); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if ( sectionText.length > 1000 ) sectionText = sectionText.substring(0, 1000) + '\u2026'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	return [extract, sectionHeader, sectionText]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+function section_formatting(title, n) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	switch ( n ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		case '1': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			title = '***__' + title + '__***'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		case '2': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			title = '**__' + title + '__**'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		case '3': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			title = '**' + title + '**'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		case '4': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			title = '__' + title + '__'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		case '5': 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			title = '*' + title + '*'; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	return title; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 function htmlToPlain(html) { 
														 | 
														
														 | 
														
															 function htmlToPlain(html) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var text = ''; 
														 | 
														
														 | 
														
															 	var text = ''; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var parser = new htmlparser.Parser( { 
														 | 
														
														 | 
														
															 	var parser = new htmlparser.Parser( { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -5790,12 +5861,14 @@ String.prototype.toFormatting = function(showEmbed = false, ...args) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 String.prototype.toMarkdown = function(wiki, path, title = '') { 
														 | 
														
														 | 
														
															 String.prototype.toMarkdown = function(wiki, path, title = '') { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var text = this.replace( /[\(\)\\]/g, '\\$&' ); 
														 | 
														
														 | 
														
															 	var text = this.replace( /[\(\)\\]/g, '\\$&' ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	var link = null; 
														 | 
														
														 | 
														
															 	var link = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	while ( ( link = /\[\[(?:([^\|\]]+)\|)?([^\]]+)\]\]([a-z]*)/g.exec(text) ) !== null ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	var regex = /\[\[(?:([^\|\]]+)\|)?([^\]]+)\]\]([a-z]*)/g; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	while ( ( link = regex.exec(text) ) !== null ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var pagetitle = ( link[1] || link[2] ); 
														 | 
														
														 | 
														
															 		var pagetitle = ( link[1] || link[2] ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		var page = wiki.toLink(( /^[#\/]/.test(pagetitle) ? title + ( pagetitle.startsWith( '/' ) ? pagetitle : '' ) : pagetitle ), '', ( pagetitle.startsWith( '#' ) ? pagetitle.substring(1) : '' ), path, true); 
														 | 
														
														 | 
														
															 		var page = wiki.toLink(( /^[#\/]/.test(pagetitle) ? title + ( pagetitle.startsWith( '/' ) ? pagetitle : '' ) : pagetitle ), '', ( pagetitle.startsWith( '#' ) ? pagetitle.substring(1) : '' ), path, true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		text = text.replaceSave( link[0], '[' + link[2] + link[3] + '](' + page + ')' ); 
														 | 
														
														 | 
														
															 		text = text.replaceSave( link[0], '[' + link[2] + link[3] + '](' + page + ')' ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	while ( title !== '' && ( link = /\/\*\s*([^\*]+?)\s*\*\/\s*(.)?/g.exec(text) ) !== null ) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	regex = /\/\*\s*([^\*]+?)\s*\*\/\s*(.)?/g; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	while ( title !== '' && ( link = regex.exec(text) ) !== null ) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		text = text.replaceSave( link[0], '[→' + link[1] + '](' + wiki.toLink(title, '', link[1], path, true) + ')' + ( link[2] ? ': ' + link[2] : '' ) ); 
														 | 
														
														 | 
														
															 		text = text.replaceSave( link[0], '[→' + link[1] + '](' + wiki.toLink(title, '', link[1], path, true) + ')' + ( link[2] ? ': ' + link[2] : '' ) ); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return text.escapeFormatting(true); 
														 | 
														
														 | 
														
															 	return text.escapeFormatting(true); 
														 |