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