| 
					
				 | 
			
			
				@@ -1925,13 +1925,13 @@ function gamepedia_user(lang, msg, namespace, username, wiki, linksuffix, queryp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var text = '<' + pagelink + '>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var embed = new Discord.RichEmbed().setAuthor( body.query.general.sitename ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink() + contribs + username.toTitle(true) + ')' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( blocks.length ) blocks.forEach( block => embed.addField( block[0], block[1].toMarkdown(wiki) ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var embed = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var text = '<' + pagelink + '>\n\n' + editcount.join(' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( blocks.length ) blocks.forEach( block => text += '\n\n**' + block[0] + '**\n' + block[1].toPlaintext() ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						msg.sendChannel( spoiler + text + spoiler, embed ).then( message => global_block(lang, message, username, text, embed, wiki, spoiler) ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2077,11 +2077,11 @@ function gamepedia_user(lang, msg, namespace, username, wiki, linksuffix, queryp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if ( msg.showEmbed() ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( isBlocked ) embed.addField( block[0], block[1].toMarkdown(wiki) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( isBlocked ) text += '\n\n**' + block[0] + '**\n' + block[1].toPlaintext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						msg.sendChannel( spoiler + text + spoiler, embed ).then( message => global_block(lang, message, username, text, embed, wiki, spoiler) ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2224,13 +2224,13 @@ function fandom_user(lang, msg, namespace, username, wiki, linksuffix, querypage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var text = '<' + pagelink + '>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var embed = new Discord.RichEmbed().setAuthor( body.query.general.sitename ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink() + contribs + username.toTitle(true) + ')' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( blocks.length ) blocks.forEach( block => embed.addField( block[0], block[1].toMarkdown(wiki) ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var embed = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							var text = '<' + pagelink + '>\n\n' + editcount.join(' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( blocks.length ) blocks.forEach( block => text += '\n\n**' + block[0] + '**\n' + block[1].toPlaintext() ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						msg.sendChannel( spoiler + text + spoiler, embed ).then( message => global_block(lang, message, username, text, embed, wiki, spoiler) ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2385,11 +2385,11 @@ function fandom_user(lang, msg, namespace, username, wiki, linksuffix, querypage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if ( msg.showEmbed() ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( isBlocked ) embed.addField( block[0], block[1].toMarkdown(wiki) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) embed.addField( '\u200b', '<a:loading:641343250661113886> **' + lang.user.info.loading + '**' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							if ( isBlocked ) text += '\n\n**' + block[0] + '**\n' + block[1].toPlaintext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( msg.channel.type === 'text' && msg.guild.id in patreons ) text += '\n\n<a:loading:641343250661113886> **' + lang.user.info.loading + '**'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						msg.sendChannel( spoiler + text + spoiler, embed ).then( message => global_block(lang, message, username, text, embed, wiki, spoiler) ); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4845,7 +4845,7 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							linkcount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							console.log( ( channel.type === 'text' ? msg.guild.name : '@' + author.username ) + ': ' + entry[0] ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							let title = entry[2].split('#')[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							let section = ( entry[2].includes( '#' ) ? '#' + entry[2].split('#').slice(1).join('#') : '' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							let section = ( entry[2].includes( '#' ) ? entry[2].split('#').slice(1).join('#') : '' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							links.push({title,section,spoiler:entry[1]}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else if ( linkcount === linkmaxcount ) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4865,7 +4865,7 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							count++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							console.log( ( channel.type === 'text' ? msg.guild.name : '@' + author.username ) + ': ' + entry[0] ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							let title = entry[2].split('#')[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							let section = ( entry[2].includes( '#' ) ? '#' + entry[2].split('#').slice(1).join('#') : '' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							let section = ( entry[2].includes( '#' ) ? entry[2].split('#').slice(1).join('#') : '' ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 							embeds.push({title,section,spoiler:entry[1]}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						else if ( count === maxcount ) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4895,7 +4895,9 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					body.query.normalized.forEach( title => links.filter( link => link.title === title.from ).forEach( link => link.title = title.to ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if ( body.query.interwiki ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					body.query.interwiki.forEach( interwiki => links.filter( link => link.title === interwiki.title ).forEach( link => link.url = interwiki.url ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					body.query.interwiki.forEach( interwiki => links.filter( link => link.title === interwiki.title ).forEach( link => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						link.url = interwiki.url + ( link.section ? '#' + link.section.toSection() : '' ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if ( body.query.pages ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					var querypages = Object.values(body.query.pages); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4907,7 +4909,7 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						link.url = wiki.toLink() + link.title.toTitle() + '?action=edit&redlink=1'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if ( links.length ) msg.sendChannel( links.map( link => link.spoiler + '<' + ( link.url || wiki.toLink() + link.title.toTitle() ) + link.section.toSection() + '>' + link.spoiler ).join('\n'), {split:true} ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if ( links.length ) msg.sendChannel( links.map( link => link.spoiler + '<' + ( link.url || wiki.toLink() + link.title.toTitle() + ( link.section ? '#' + link.section.toSection() : '' ) ) + '>' + link.spoiler ).join('\n'), {split:true} ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if ( embeds.length ) request( { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4931,25 +4933,24 @@ function newMessage(msg, wiki = defaultSettings.wiki, lang = i18n[defaultSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					querypages.filter( page => page.invalid !== undefined ).forEach( page => embeds.filter( embed => embed.title === page.title ).forEach( embed => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						embeds.splice(embeds.indexOf(embed), 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					var missing = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					querypages.filter( page => page.missing !== undefined && page.known === undefined ).forEach( page => embeds.filter( embed => embed.title === page.title ).forEach( embed => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if ( ( page.ns === 2 || page.ns === 202 ) && !page.title.includes( '/' ) ) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						missing.push(embed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						embeds.splice(embeds.indexOf(embed), 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						if ( page.ns === 0 && !embed.section ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							var template = querypages.find( template => template.title === 'Template:' + embed.title ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							if ( template && template.missing === undefined ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								msg.sendChannel( embed.spoiler + '<' + wiki.toLink() + template.title.toTitle() + '>' + embed.spoiler ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							var template = querypages.find( template => template.ns === 10 && template.title.split(':').slice(1).join(':') === embed.title ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							if ( template && template.missing === undefined ) embed.template = template.title.toTitle(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						msg.sendChannel( embed.spoiler + '<' + wiki.toLink() + embed.title.toTitle() + '?action=edit&redlink=1' + embed.section.toSection() + '>' + embed.spoiler ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if ( missing.length ) msg.sendChannel( missing.map( embed => embed.spoiler + '<' + wiki.toLink() + ( embed.template || embed.title.toTitle() + '?action=edit&redlink=1' ) + '>' + embed.spoiler ).join('\n'), {split:true} ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				if ( embeds.length ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					if ( wiki.isFandom() ) embeds.forEach( embed => msg.reactEmoji('⏳').then( reaction => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fandom_check_wiki(lang, msg, embed.title + embed.section, wiki, ' ', reaction, embed.spoiler); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						fandom_check_wiki(lang, msg, embed.title, wiki, ' ', reaction, embed.spoiler, '', embed.section); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					else embeds.forEach( embed => msg.reactEmoji('⏳').then( reaction => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						gamepedia_check_wiki(lang, msg, embed.title + embed.section, wiki, ' ', reaction, embed.spoiler); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						gamepedia_check_wiki(lang, msg, embed.title, wiki, ' ', reaction, embed.spoiler, '', embed.section); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					} ) ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} ); 
			 |