Explorar el Código

update discord.js

Markus-Rost hace 3 años
padre
commit
cb42b53e6a

+ 8 - 8
bot.js

@@ -9,15 +9,15 @@ import { breakOnTimeoutPause, allowDelete } from './util/functions.js';
 
 const client = new Discord.Client( {
 	makeCache: Discord.Options.cacheWithLimits( {
-		MessageManager: {
-			maxSize: 100,
-			sweepInterval: 300,
-			sweepFilter: Discord.LimitedCollection.filterByLifetime( {
-				lifetime: 300,
-			} )
-		},
+		MessageManager: 100,
 		PresenceManager: 0
 	} ),
+	sweepers: {
+		messages: {
+			interval: 300,
+			lifetime: 300
+		}
+	},
 	allowedMentions: {
 		parse: [],
 		repliedUser: true
@@ -247,7 +247,7 @@ client.on( 'messageCreate', msg => {
  */
 function messageCreate(msg) {
 	if ( isStop || !msg.channel.isText() || msg.system || msg.webhookId || msg.author.bot || msg.author.id === msg.client.user.id ) return;
-	if ( msg.member?.communicationDisabledUntilTimestamp > Date.now() || msg.guild?.me.communicationDisabledUntilTimestamp > Date.now() ) return;
+	if ( msg.member?.isCommunicationDisabled() || msg.guild?.me.isCommunicationDisabled() ) return;
 	if ( !msg.content.hasPrefix(( msg.inGuild() && patreonGuildsPrefix.get(msg.guildId) || process.env.prefix ), 'm') ) {
 		if ( msg.content === process.env.prefix + 'help' && ( msg.isAdmin() || msg.isOwner() ) ) {
 			if ( msg.channel.permissionsFor(msg.client.user).has(( msg.channel.isThread() ? Discord.Permissions.FLAGS.SEND_MESSAGES_IN_THREADS : Discord.Permissions.FLAGS.SEND_MESSAGES )) ) {

+ 4 - 4
cmds/minecraft/bug.js

@@ -51,7 +51,7 @@ function minecraft_bug(lang, msg, wiki, args, title, cmd, reaction, spoiler, noE
 					var description = parse_links( ( body.fields.description || '' ).replace( /\{code\}/g, '```' ) );
 					var embed = null;
 					if ( msg.showEmbed() && !noEmbed ) {
-						embed = new MessageEmbed().setAuthor( 'Mojira' ).setTitle( summary ).setURL( baseBrowseUrl + body.key ).setDescription( limitLength(description, 2000, 20) );
+						embed = new MessageEmbed().setAuthor( {name: 'Mojira'} ).setTitle( summary ).setURL( baseBrowseUrl + body.key ).setDescription( limitLength(description, 2000, 20) );
 						var links = body.fields.issuelinks.filter( link => link.outwardIssue || ( link.inwardIssue && link.type.name !== 'Duplicate' ) );
 						if ( links.length ) {
 							var linkList = lang.get('minecraft.issue_link');
@@ -65,7 +65,7 @@ function minecraft_bug(lang, msg, wiki, args, title, cmd, reaction, spoiler, noE
 								if ( embed.fields.length < 25 && ( embed.length + name.length + value.length ) < 6000 ) embed.addField( name, value );
 								else extralinks.push({name,value,inline:false});
 							} );
-							if ( extralinks.length ) embed.setFooter( lang.get('minecraft.more', extralinks.length.toLocaleString(lang.get('dateformat')), extralinks.length) );
+							if ( extralinks.length ) embed.setFooter( {text: lang.get('minecraft.more', extralinks.length.toLocaleString(lang.get('dateformat')), extralinks.length)} );
 						}
 					}
 					var status = ( body.fields.resolution ? body.fields.resolution.name : body.fields.status.name );
@@ -113,7 +113,7 @@ function minecraft_bug(lang, msg, wiki, args, title, cmd, reaction, spoiler, noE
 				else {
 					var embed = null;
 					if ( msg.showEmbed() && !noEmbed ) {
-						embed = new MessageEmbed().setAuthor( 'Mojira' ).setTitle( args.join(' ') ).setURL( uri );
+						embed = new MessageEmbed().setAuthor( {name: 'Mojira'} ).setTitle( args.join(' ') ).setURL( uri );
 						if ( body.total > 0 ) {
 							var statusList = lang.get('minecraft.status');
 							body.issues.forEach( bug => {
@@ -123,7 +123,7 @@ function minecraft_bug(lang, msg, wiki, args, title, cmd, reaction, spoiler, noE
 							} );
 							if ( body.total > 25 ) {
 								var extrabugs = body.total - 25;
-								embed.setFooter( lang.get('minecraft.more', extrabugs.toLocaleString(lang.get('dateformat')), extrabugs) );
+								embed.setFooter( {text: lang.get('minecraft.more', extrabugs.toLocaleString(lang.get('dateformat')), extrabugs)} );
 							}
 						}
 					}

+ 1 - 1
cmds/settings.js

@@ -134,7 +134,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 							});
 						}
 						if ( notice.length ) {
-							embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( lang.get('test.notice') ).addFields( notice );
+							embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( lang.get('test.notice') ).addFields( notice );
 						}
 					}
 					var sql = 'UPDATE discord SET wiki = $1 WHERE guild = $2 AND wiki = $3';

+ 1 - 1
cmds/test.js

@@ -37,7 +37,7 @@ function cmd_test(lang, msg, args, line, wiki) {
 			if ( !message ) return;
 			var discordPing = message.createdTimestamp - msg.createdTimestamp;
 			if ( discordPing > 1_000 ) text = lang.get('test.slow') + ' 🐌\n' + process.env.invite;
-			var embed = new MessageEmbed().setTitle( lang.get('test.time') ).setFooter( 'Shard: ' + process.env.SHARDS ).addField( 'Discord', discordPing.toLocaleString(lang.get('dateformat')) + 'ms' );
+			var embed = new MessageEmbed().setTitle( lang.get('test.time') ).setFooter( {text: 'Shard: ' + process.env.SHARDS} ).addField( 'Discord', discordPing.toLocaleString(lang.get('dateformat')) + 'ms' );
 			var now = Date.now();
 			got.get( wiki + 'api.php?action=query&meta=siteinfo&siprop=general&format=json', {
 				timeout: {

+ 1 - 1
cmds/wiki/diff.js

@@ -206,7 +206,7 @@ function gamepedia_diff_send(lang, msg, args, wiki, reaction, spoiler, noEmbed,
 			var pagelink = wiki.toLink(title, {diff,oldid});
 			var text = '<' + pagelink + '>';
 			if ( msg.showEmbed() && !noEmbed ) {
-				var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting( title + '?diff=' + diff + '&oldid=' + oldid ) ).setURL( pagelink ).addField( editor[0], editor[1], true ).addField( size[0], size[1], true ).addField( timestamp[0], timestamp[1] + '\n' + timestamp[2], true ).addField( comment[0], comment[1] ).setTimestamp( editDate );
+				var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting( title + '?diff=' + diff + '&oldid=' + oldid ) ).setURL( pagelink ).addField( editor[0], editor[1], true ).addField( size[0], size[1], true ).addField( timestamp[0], timestamp[1] + '\n' + timestamp[2], true ).addField( comment[0], comment[1] ).setTimestamp( editDate );
 				
 				var more = '\n__' + lang.get('diff.info.more') + '__';
 				var whitespace = '__' + lang.get('diff.info.whitespace') + '__';

+ 4 - 4
cmds/wiki/discussion.js

@@ -26,7 +26,7 @@ export default function fandom_discussion(lang, msg, wiki, title, sitename, reac
 			if ( reaction ) reaction.removeEmoji();
 			return;
 		}
-		var embed = new MessageEmbed().setAuthor( sitename ).setTitle( lang.get('discussion.main') ).setURL( pagelink );
+		var embed = new MessageEmbed().setAuthor( {name: sitename} ).setTitle( lang.get('discussion.main') ).setURL( pagelink );
 		got.get( wiki + 'f', {
 			responseType: 'text'
 		} ).then( descresponse => {
@@ -75,7 +75,7 @@ export default function fandom_discussion(lang, msg, wiki, title, sitename, reac
 			}
 			else if ( body._embedded['doc:posts'].length ) {
 				var posts = body._embedded['doc:posts'];
-				var embed = new MessageEmbed().setAuthor( sitename );
+				var embed = new MessageEmbed().setAuthor( {name: sitename} );
 				
 				if ( posts.some( post => post.id === title ) ) {
 					discussion_send(lang, msg, wiki, posts.find( post => post.id === title ), embed, spoiler, noEmbed);
@@ -172,7 +172,7 @@ export default function fandom_discussion(lang, msg, wiki, title, sitename, reac
 			}
 			else if ( body._embedded.threads.length ) {
 				var threads = body._embedded.threads;
-				var embed = new MessageEmbed().setAuthor( sitename );
+				var embed = new MessageEmbed().setAuthor( {name: sitename} );
 				
 				if ( threads.some( thread => thread.id === title ) ) {
 					discussion_send(lang, msg, wiki, threads.find( thread => thread.id === title ), embed, spoiler, noEmbed);
@@ -271,7 +271,7 @@ function discussion_send(lang, msg, wiki, discussion, embed, spoiler, noEmbed) {
 		var pagelink = wiki + 'f/p/' + discussion.threadId + '/r/' + discussion.id;
 	}
 	if ( !msg.showEmbed() || noEmbed ) msg.sendChannel( spoiler + '<' + pagelink + '>' + spoiler );
-	embed.setURL( pagelink ).setFooter( discussion.createdBy.name, discussion.createdBy.avatarUrl ).setTimestamp( discussion.creationDate.epochSecond * 1000 );
+	embed.setURL( pagelink ).setFooter( {text: discussion.createdBy.name, iconURL: discussion.createdBy.avatarUrl} ).setTimestamp( discussion.creationDate.epochSecond * 1000 );
 	var description = '';
 	switch ( discussion.funnel ) {
 		case 'IMAGE':

+ 4 - 4
cmds/wiki/general.js

@@ -263,7 +263,7 @@ export default function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reacti
 				querypage.uselang = uselang;
 				var pagelink = wiki.toLink(querypage.title, querystring, fragment);
 				var text = '';
-				var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
+				var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
 				if ( querypage.pageprops && querypage.pageprops.displaytitle ) {
 					var displaytitle = htmlToDiscord( querypage.pageprops.displaytitle );
 					if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';
@@ -350,7 +350,7 @@ export default function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reacti
 				var pagelink = wiki.toLink(body.query.namespaces['-1']['*'] + ':' + ( filepath?.aliases?.[0] || 'FilePath' ) + querypage.title.replace( body.query.namespaces['-2']['*'] + ':', '/' ), querystring, fragment);
 				var embed = null;
 				if ( !noEmbed ) {
-					embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink ).setDescription( '[' + lang.get('search.media') + '](' + wiki.toLink(querypage.title, '', '', true) + ')' );
+					embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink ).setDescription( '[' + lang.get('search.media') + '](' + wiki.toLink(querypage.title, '', '', true) + ')' );
 					if ( msg.showEmbed() && /\.(?:png|jpg|jpeg|gif)$/.test(querypage.title.toLowerCase()) ) embed.setImage( pagelink );
 				}
 				
@@ -362,7 +362,7 @@ export default function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reacti
 			logging(wiki, msg.guildId, 'general');
 			var pagelink = wiki.toLink(querypage.title, querystring, ( fragment || ( body.query.redirects && body.query.redirects[0].tofragment ) || '' ));
 			var text = '';
-			var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
+			var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
 			if ( querypage.pageprops && querypage.pageprops.displaytitle ) {
 				var displaytitle = htmlToDiscord( querypage.pageprops.displaytitle );
 				if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';
@@ -469,7 +469,7 @@ export default function gamepedia_check_wiki(lang, msg, title, wiki, cmd, reacti
 			uselang, noRedirect
 		};
 		var pagelink = wiki.toLink(querypage.title, querystring, fragment);
-		var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
+		var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
 		got.get( wiki + 'api.php?uselang=' + uselang + '&action=query' + ( noRedirect ? '' : '&redirects=true' ) + '&prop=info|pageprops|extracts&ppprop=description|displaytitle|disambiguation|infoboxes&explaintext=true&exsectionformat=raw&exlimit=1&titles=' + encodeURIComponent( querypage.title ) + '&format=json' ).then( mpresponse => {
 			var mpbody = mpresponse.body;
 			if ( mpbody && mpbody.warnings ) log_warning(body.warnings);

+ 5 - 3
cmds/wiki/overview.js

@@ -96,7 +96,7 @@ export default function gamepedia_overview(lang, msg, wiki, reaction, spoiler, n
 		var text = '<' + pagelink + '>';
 		var embed = null;
 		if ( msg.showEmbed() && !noEmbed ) {
-			embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
+			embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
 			if ( body.query.allmessages?.[0]?.['*']?.trim?.() ) {
 				let displaytitle = escapeFormatting(body.query.allmessages[0]['*'].trim());
 				if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';
@@ -210,7 +210,9 @@ export default function gamepedia_overview(lang, msg, wiki, reaction, spoiler, n
 					if ( manager[1] ) embed.addField( manager[0], '[' + manager[1] + '](' + wiki.toLink('User:' + manager[1], '', '', true) + ') ([' + lang.get('overview.talk') + '](' + wiki.toLink('User talk:' + manager[1], '', '', true) + '))', true );
 					if ( founder[1] ) embed.addField( founder[0], founder[1], true );
 					if ( crossover[1] ) embed.addField( crossover[0], crossover[1], true );
-					embed.addField( license[0], license[1], true ).addField( misermode[0], misermode[1], true ).setFooter( lang.get('overview.inaccurate') + ( wikiid ? ' • ' + lang.get('overview.wikiid') + ' ' + wikiid : '' ) );
+					embed.addField( license[0], license[1], true ).addField( misermode[0], misermode[1], true ).setFooter( {
+						text: lang.get('overview.inaccurate') + ( wikiid ? ' • ' + lang.get('overview.wikiid') + ' ' + wikiid : '' )
+					} );
 					if ( description[1] ) embed.addField( description[0], description[1] );
 					if ( image[1] ) embed.addField( image[0], image[1] ).setImage( image[1] );
 					if ( readonly[1] ) embed.addField( readonly[0], readonly[1] );
@@ -244,7 +246,7 @@ export default function gamepedia_overview(lang, msg, wiki, reaction, spoiler, n
 		if ( msg.showEmbed() && !noEmbed ) {
 			embed.addField( version[0], version[1], true ).addField( language[0], language[1], true );
 			if ( rtl[1] ) embed.addField( rtl[0], rtl[1], true );
-			embed.addField( created[0], created[1] + '\n' + created[2], true ).addField( articles[0], articles[1], true ).addField( pages[0], pages[1], true ).addField( edits[0], edits[1], true ).addField( users[0], users[1], true ).addField( admins[0], admins[1], true ).addField( license[0], license[1], true ).addField( misermode[0], misermode[1], true ).setFooter( lang.get('overview.inaccurate') );
+			embed.addField( created[0], created[1] + '\n' + created[2], true ).addField( articles[0], articles[1], true ).addField( pages[0], pages[1], true ).addField( edits[0], edits[1], true ).addField( users[0], users[1], true ).addField( admins[0], admins[1], true ).addField( license[0], license[1], true ).addField( misermode[0], misermode[1], true ).setFooter( {text: lang.get('overview.inaccurate')} );
 			if ( readonly[1] ) embed.addField( readonly[0], readonly[1] );
 		}
 		else {

+ 2 - 2
cmds/wiki/random.js

@@ -41,7 +41,7 @@ export default function gamepedia_random(lang, msg, wiki, reaction, spoiler, noE
 			var pagelink = wiki.toLink(title, querystring, fragment);
 			var embed = null;
 			if ( msg.showEmbed() && !noEmbed ) {
-				embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
+				embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(body.query.general.logo, wiki).href );
 				if ( body.query.allmessages?.[0]?.['*']?.trim?.() ) {
 					let displaytitle = escapeFormatting(body.query.allmessages[0]['*'].trim());
 					if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';
@@ -61,7 +61,7 @@ export default function gamepedia_random(lang, msg, wiki, reaction, spoiler, noE
 		var querypage = Object.values(body.query.pages)[0];
 		var pagelink = wiki.toLink(querypage.title, querystring, fragment);
 		var text = '';
-		var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
+		var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
 		if ( querypage.pageprops && querypage.pageprops.displaytitle ) {
 			var displaytitle = htmlToDiscord( querypage.pageprops.displaytitle );
 			if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';

+ 2 - 2
cmds/wiki/search.js

@@ -24,7 +24,7 @@ export default function gamepedia_search(lang, msg, searchterm, wiki, query, rea
 	var pagelink = wiki.toLink('Special:Search', {search:searchterm,fulltext:1});
 	var resultText = '<' + pagelink + '>';
 	var embed = null;
-	if ( msg.showEmbed() && !noEmbed ) embed = new MessageEmbed().setAuthor( query.general.sitename ).setTitle( '`' + searchterm + '`' ).setURL( pagelink );
+	if ( msg.showEmbed() && !noEmbed ) embed = new MessageEmbed().setAuthor( {name: query.general.sitename} ).setTitle( '`' + searchterm + '`' ).setURL( pagelink );
 	else resultText += '\n\n**`' + searchterm + '`**';
 	var querypage = ( Object.values(( query.pages || {} ))?.[0] || {title:'',ns:0,invalid:''} );
 	var limit = searchLimit[( patreonGuildsPrefix.has(msg.guildId) ? 'patreon' : 'default' )];
@@ -137,7 +137,7 @@ export default function gamepedia_search(lang, msg, searchterm, wiki, query, rea
 		}
 		if ( msg.showEmbed() && !noEmbed ) {
 			if ( description.length ) embed.setDescription( Util.splitMessage( description.join('\n') )[0] );
-			if ( footer ) embed.setFooter( footer );
+			if ( footer ) embed.setFooter( {text: footer} );
 		}
 		else {
 			if ( description.length ) resultText += '\n' + Util.splitMessage( description.join('\n'), {maxLength: 1995 - resultText.length - footer.length} )[0];

+ 2 - 2
cmds/wiki/special_page.js

@@ -163,7 +163,7 @@ const descriptions = {
  */
 export default function special_page(lang, msg, {title, uselang = lang.lang}, specialpage, query, wiki, querystring, fragment, reaction, spoiler, noEmbed) {
 	var pagelink = wiki.toLink(title, querystring, fragment);
-	var embed = new MessageEmbed().setAuthor( query.general.sitename ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(query.general.logo, wiki).href );
+	var embed = new MessageEmbed().setAuthor( {name: query.general.sitename} ).setTitle( escapeFormatting(title) ).setURL( pagelink ).setThumbnail( new URL(query.general.logo, wiki).href );
 	if ( overwrites.hasOwnProperty(specialpage) ) {
 		var args = title.split('/').slice(1,3);
 		overwrites[specialpage](this, lang, msg, wiki, querystring, fragment, reaction, spoiler, noEmbed, args, embed, query);
@@ -205,7 +205,7 @@ export default function special_page(lang, msg, {title, uselang = lang.lang}, sp
 			var text = Util.splitMessage( querypages[specialpage][1](body.query, wiki, lang), {maxLength:1000} )[0];
 			embed.addField( lang.get('search.special'), ( text || lang.get('search.empty') ) );
 			if ( body.query.querypage?.cached !== undefined ) {
-				embed.setFooter( lang.get('search.cached') ).setTimestamp(new Date(body.query.querypage.cachedtimestamp));
+				embed.setFooter( {text: lang.get('search.cached')} ).setTimestamp(new Date(body.query.querypage.cachedtimestamp));
 			}
 		}
 	}, error => {

+ 4 - 5
cmds/wiki/user.js

@@ -37,8 +37,7 @@ export default function gamepedia_user(lang, msg, namespace, username, wiki, que
 					var embed = new MessageEmbed().setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
 					if ( body?.query?.general ) {
 						wiki.updateWiki(body.query.general);
-						embed.setAuthor( body.query.general.sitename );
-						embed.setThumbnail( new URL(body.query.general.logo, wiki).href );
+						embed.setAuthor( {name: body.query.general.sitename} ).setThumbnail( new URL(body.query.general.logo, wiki).href );
 					}
 					if ( querypage.pageprops && querypage.pageprops.displaytitle ) {
 						var displaytitle = htmlToDiscord( querypage.pageprops.displaytitle );
@@ -195,7 +194,7 @@ export default function gamepedia_user(lang, msg, namespace, username, wiki, que
 			var text = '<' + pagelink + '>';
 			var embed = null;
 			if ( msg.showEmbed() && !noEmbed ) {
-				embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', true) + ')' );
+				embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( username ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', true) + ')' );
 				embed.forceTitle = true;
 				if ( querypage.pageprops && querypage.pageprops.description ) {
 					var description = htmlToDiscord( querypage.pageprops.description );
@@ -254,7 +253,7 @@ export default function gamepedia_user(lang, msg, namespace, username, wiki, que
 			if ( querypage.missing !== undefined || querypage.ns === -1 ) msg.reactEmoji('🤷');
 			else {
 				var pagelink = wiki.toLink(querypage.title, querystring, fragment);
-				var embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
+				var embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(querypage.title) ).setURL( pagelink );
 				if ( querypage.pageprops && querypage.pageprops.displaytitle ) {
 					var displaytitle = htmlToDiscord( querypage.pageprops.displaytitle );
 					if ( displaytitle.length > 250 ) displaytitle = displaytitle.substring(0, 250) + '\u2026';
@@ -440,7 +439,7 @@ export default function gamepedia_user(lang, msg, namespace, username, wiki, que
 			var text = '<' + pagelink + '>';
 			var embed = null;
 			if ( msg.showEmbed() && !noEmbed ) {
-				embed = new MessageEmbed().setAuthor( body.query.general.sitename ).setTitle( escapeFormatting(username) ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', true) + ')', true );
+				embed = new MessageEmbed().setAuthor( {name: body.query.general.sitename} ).setTitle( escapeFormatting(username) ).setURL( pagelink ).addField( editcount[0], '[' + editcount[1] + '](' + wiki.toLink(contribs + username, '', '', true) + ')', true );
 				embed.forceTitle = true;
 				if ( wiki.hasCentralAuth() ) {
 					embed.addField( lang.get('user.info.globaleditcount'), '[' + body.query.globaluserinfo.editcount.toLocaleString(lang.get('dateformat')) + '](' + wiki.toLink('Special:CentralAuth/' + username, '', '', true) + ')', true ).addField( lang.get('user.info.wikisedited'), '[' + body.query.globaluserinfo.merged.filter( mergedWiki => mergedWiki.editcount ).length.toLocaleString(lang.get('dateformat')) + '](' + wiki.toLink('Special:CentralAuth/' + username, '', '', true) + ')', true );

+ 1 - 1
functions/phabricator.js

@@ -47,7 +47,7 @@ export default function phabricator_task(lang, msg, wiki, link, reaction, spoile
 		}
 		var summary = escapeFormatting(task.fields.name);
 		if ( summary.length > 250 ) summary = summary.substring(0, 250) + '\u2026';
-		var embed = new MessageEmbed().setAuthor( 'Phabricator' ).setTitle( summary ).setURL( link ).addField( 'Status', escapeFormatting(task.fields.status.name), true ).addField( 'Priority', escapeFormatting(task.fields.priority.name), true );
+		var embed = new MessageEmbed().setAuthor( {name: 'Phabricator'} ).setTitle( summary ).setURL( link ).addField( 'Status', escapeFormatting(task.fields.status.name), true ).addField( 'Priority', escapeFormatting(task.fields.priority.name), true );
 		if ( task.fields.subtype !== 'default' ) embed.addField( 'Subtype', escapeFormatting(task.fields.subtype), true );
 		var description = parse_text( task.fields.description.raw, site );
 		if ( description.length > 2000 ) description = limitLength(description, 2000, 40);

+ 3 - 3
functions/verify.js

@@ -28,7 +28,7 @@ export default function verify(lang, channel, member, username, wiki, rows, old_
 	verifynotice.logchannel = ( verifynotice.logchannel ? channel.guild.channels.cache.filter( logchannel => {
 		return ( logchannel.isText() && logchannel.permissionsFor(channel.guild.me).has([Permissions.FLAGS.VIEW_CHANNEL, Permissions.FLAGS.SEND_MESSAGES]) );
 	} ).get(verifynotice.logchannel) : null );
-	var embed = new MessageEmbed().setFooter( lang.get('verify.footer') ).setTimestamp();
+	var embed = new MessageEmbed().setFooter( {text: lang.get('verify.footer')} ).setTimestamp();
 	var result = {
 		content: '', embed,
 		add_button: channel.permissionsFor(channel.guild.me).has(Permissions.FLAGS.EMBED_LINKS),
@@ -74,7 +74,7 @@ export default function verify(lang, channel, member, username, wiki, rows, old_
 		}
 		if ( !old_username ) logging(wiki, channel.guildId, 'verification');
 		var queryuser = body.query.users[0];
-		embed.setAuthor( body.query.general.sitename );
+		embed.setAuthor( {name: body.query.general.sitename} );
 		if ( body.query.users.length !== 1 || queryuser.missing !== undefined || queryuser.invalid !== undefined ) {
 			username = ( body.query.users.length === 1 ? queryuser.name : username );
 			embed.setTitle( escapeFormatting( old_username || username ) ).setColor('#0000FF').setDescription( lang.get('verify.user_missing', escapeFormatting( old_username || username )) ).addField( lang.get('verify.notice'), lang.get('verify.help_missing') );
@@ -658,7 +658,7 @@ globalThis.verifyOauthUser = function(state, access_token, settings) {
 			logging(wiki, channel.guildId, 'verification');
 			var queryuser = body.query.users[0];
 			if ( body.query.users.length !== 1 || queryuser.missing !== undefined || queryuser.invalid !== undefined ) return settings.fail?.();
-			var embed = new MessageEmbed().setFooter( lang.get('verify.footer') ).setTimestamp().setAuthor( body.query.general.sitename ).addField( lang.get('verify.discord', queryuser.gender), escapeFormatting(member.user.tag), true ).addField( lang.get('verify.wiki', queryuser.gender), lang.get('verify.oauth_used'), true );
+			var embed = new MessageEmbed().setFooter( {text: lang.get('verify.footer')} ).setTimestamp().setAuthor( {name: body.query.general.sitename} ).addField( lang.get('verify.discord', queryuser.gender), escapeFormatting(member.user.tag), true ).addField( lang.get('verify.wiki', queryuser.gender), lang.get('verify.oauth_used'), true );
 			var pagelink = wiki.toLink('User:' + username, '', '', true);
 			embed.setTitle( escapeFormatting(username) ).setURL( pagelink );
 			if ( queryuser.blockexpiry ) {

+ 25 - 25
package-lock.json

@@ -12,7 +12,7 @@
         "cheerio": "^1.0.0-rc.10",
         "datetime-difference": "^1.0.2",
         "discord-oauth2": "^2.9.0",
-        "discord.js": "^13.4.0",
+        "discord.js": "^13.5.0",
         "dotenv": "^10.0.0",
         "full-icu": "^1.4.0",
         "got": "^12.0.0",
@@ -25,12 +25,12 @@
       }
     },
     "node_modules/@discordjs/builders": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.10.0.tgz",
-      "integrity": "sha512-fTB/f/4sPFhG5YWkVJPCC1WyIwUWPrgqyYn5nQtUwT77TUIhfus3VbI4OdIqht2Rneemmw8OjtAEBY3ENB0XWQ==",
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.11.0.tgz",
+      "integrity": "sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==",
       "dependencies": {
         "@sindresorhus/is": "^4.2.0",
-        "discord-api-types": "^0.25.2",
+        "discord-api-types": "^0.26.0",
         "ts-mixer": "^6.0.0",
         "tslib": "^2.3.1",
         "zod": "^3.11.6"
@@ -330,9 +330,9 @@
       }
     },
     "node_modules/discord-api-types": {
-      "version": "0.25.2",
-      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.25.2.tgz",
-      "integrity": "sha512-O243LXxb5gLLxubu5zgoppYQuolapGVWPw3ll0acN0+O8TnPUE2kFp9Bt3sTRYodw8xFIknOVxjSeyWYBpVcEQ==",
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.0.tgz",
+      "integrity": "sha512-bnUltSHpQLzTVZTMjm+iNgVhAbtm5oAKHrhtiPaZoxprbm1UtuCZCsG0yXM61NamWfeSz7xnLvgFc50YzVJ5cQ==",
       "engines": {
         "node": ">=12"
       }
@@ -343,16 +343,16 @@
       "integrity": "sha512-2DtocOmsXw5KjhW4eUMpr6RAih+juON0DOzSWr6F8qZePzuOJWznHbqDJmU70YB4Wv2Psyc6Shr3SEvRQ2Gk4Q=="
     },
     "node_modules/discord.js": {
-      "version": "13.4.0",
-      "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.4.0.tgz",
-      "integrity": "sha512-ELjfNsGxoihpefQWWEegpk0QBserxvuYJlZAiOY5L+LjpQD30ccNSfcbt7HHDiKJB8o9T5CmMAvA3wvzIWNpKg==",
+      "version": "13.5.0",
+      "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.5.0.tgz",
+      "integrity": "sha512-K+ZcB0f+wA1ZzDhz3hlaAi4Ap7jSvVEUZ+U29T4DMoiNNUv22F4vu1byrOq8GyyLLDFiZ3iSudea0MvSHu3fQA==",
       "dependencies": {
-        "@discordjs/builders": "^0.10.0",
+        "@discordjs/builders": "^0.11.0",
         "@discordjs/collection": "^0.4.0",
         "@sapphire/async-queue": "^1.1.9",
         "@types/node-fetch": "^2.5.12",
         "@types/ws": "^8.2.2",
-        "discord-api-types": "^0.25.2",
+        "discord-api-types": "^0.26.0",
         "form-data": "^4.0.0",
         "node-fetch": "^2.6.1",
         "ws": "^8.4.0"
@@ -3274,12 +3274,12 @@
   },
   "dependencies": {
     "@discordjs/builders": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.10.0.tgz",
-      "integrity": "sha512-fTB/f/4sPFhG5YWkVJPCC1WyIwUWPrgqyYn5nQtUwT77TUIhfus3VbI4OdIqht2Rneemmw8OjtAEBY3ENB0XWQ==",
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.11.0.tgz",
+      "integrity": "sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==",
       "requires": {
         "@sindresorhus/is": "^4.2.0",
-        "discord-api-types": "^0.25.2",
+        "discord-api-types": "^0.26.0",
         "ts-mixer": "^6.0.0",
         "tslib": "^2.3.1",
         "zod": "^3.11.6"
@@ -3504,9 +3504,9 @@
       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
     },
     "discord-api-types": {
-      "version": "0.25.2",
-      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.25.2.tgz",
-      "integrity": "sha512-O243LXxb5gLLxubu5zgoppYQuolapGVWPw3ll0acN0+O8TnPUE2kFp9Bt3sTRYodw8xFIknOVxjSeyWYBpVcEQ=="
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.26.0.tgz",
+      "integrity": "sha512-bnUltSHpQLzTVZTMjm+iNgVhAbtm5oAKHrhtiPaZoxprbm1UtuCZCsG0yXM61NamWfeSz7xnLvgFc50YzVJ5cQ=="
     },
     "discord-oauth2": {
       "version": "2.9.0",
@@ -3514,16 +3514,16 @@
       "integrity": "sha512-2DtocOmsXw5KjhW4eUMpr6RAih+juON0DOzSWr6F8qZePzuOJWznHbqDJmU70YB4Wv2Psyc6Shr3SEvRQ2Gk4Q=="
     },
     "discord.js": {
-      "version": "13.4.0",
-      "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.4.0.tgz",
-      "integrity": "sha512-ELjfNsGxoihpefQWWEegpk0QBserxvuYJlZAiOY5L+LjpQD30ccNSfcbt7HHDiKJB8o9T5CmMAvA3wvzIWNpKg==",
+      "version": "13.5.0",
+      "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.5.0.tgz",
+      "integrity": "sha512-K+ZcB0f+wA1ZzDhz3hlaAi4Ap7jSvVEUZ+U29T4DMoiNNUv22F4vu1byrOq8GyyLLDFiZ3iSudea0MvSHu3fQA==",
       "requires": {
-        "@discordjs/builders": "^0.10.0",
+        "@discordjs/builders": "^0.11.0",
         "@discordjs/collection": "^0.4.0",
         "@sapphire/async-queue": "^1.1.9",
         "@types/node-fetch": "^2.5.12",
         "@types/ws": "^8.2.2",
-        "discord-api-types": "^0.25.2",
+        "discord-api-types": "^0.26.0",
         "form-data": "^4.0.0",
         "node-fetch": "^2.6.1",
         "ws": "^8.4.0"

+ 1 - 1
package.json

@@ -19,7 +19,7 @@
     "cheerio": "^1.0.0-rc.10",
     "datetime-difference": "^1.0.2",
     "discord-oauth2": "^2.9.0",
-    "discord.js": "^13.4.0",
+    "discord.js": "^13.5.0",
     "dotenv": "^10.0.0",
     "full-icu": "^1.4.0",
     "got": "^12.0.0",

+ 2 - 2
util/functions.js

@@ -451,11 +451,11 @@ function partialURIdecode(m) {
  */
 function breakOnTimeoutPause(msg, ignorePause = false) {
 	if ( !msg.inGuild() ) return false;
-	if ( msg.member?.communicationDisabledUntilTimestamp > Date.now() ) {
+	if ( msg.member?.isCommunicationDisabled() ) {
 		console.log( '- Aborted, communication disabled for User.' );
 		return true;
 	}
-	if ( msg.guild?.me.communicationDisabledUntilTimestamp > Date.now() ) {
+	if ( msg.guild?.me.isCommunicationDisabled() ) {
 		console.log( '- Aborted, communication disabled for Wiki-Bot.' );
 		return true;
 	}