|
@@ -7,7 +7,8 @@ const Discord = require('discord.js');
|
|
|
const DBL = require("dblapi.js");
|
|
|
var request = require('request');
|
|
|
|
|
|
-const isDebug = ( process.argv[2] == 'debug' ? true : false );
|
|
|
+const isDebug = ( process.argv[2] === 'debug' ? true : false );
|
|
|
+var multiManager = require('./wiki_manager.json');
|
|
|
|
|
|
var client = new Discord.Client( {disableEveryone:true} );
|
|
|
const dbl = new DBL(process.env.dbltoken);
|
|
@@ -40,7 +41,7 @@ function getSettings(callback) {
|
|
|
headers: access,
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.message || body.error ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.message || body.error ) {
|
|
|
console.log( '- Fehler beim Erhalten der Einstellungen' + ( error ? ': ' + error : ( body ? ( body.message ? ': ' + body.message : ( body.error ? ': ' + body.error : '.' ) ) : '.' ) ) );
|
|
|
ready.settings = false;
|
|
|
}
|
|
@@ -53,7 +54,7 @@ function getSettings(callback) {
|
|
|
}
|
|
|
|
|
|
function setStatus() {
|
|
|
- if ( settings == defaultSettings ) client.user.setStatus('invisible').catch(log_error);
|
|
|
+ if ( settings === defaultSettings ) client.user.setStatus('invisible').catch(log_error);
|
|
|
else {
|
|
|
client.user.setStatus('online').catch(log_error);
|
|
|
client.user.setActivity( process.env.prefix + ' help' ).catch(log_error);
|
|
@@ -66,16 +67,19 @@ var allSites = defaultSites;
|
|
|
function getAllSites() {
|
|
|
ready.allSites = true;
|
|
|
request( {
|
|
|
- uri: 'https://help.gamepedia.com/api.php?action=allsites&formatversion=2&do=getSiteStats&filter=wikis|wiki_domain,wiki_display_name,official_wiki,wiki_managers&format=json',
|
|
|
+ uri: 'https://help.gamepedia.com/api.php?action=allsites&formatversion=2&do=getSiteStats&filter=wikis|wiki_domain,wiki_display_name,wiki_managers,official_wiki,created,ss_good_articles,ss_total_pages,ss_total_edits,ss_active_users&format=json',
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.status != 'okay' || !body.data || !body.data.wikis ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.status !== 'okay' || !body.data || !body.data.wikis ) {
|
|
|
console.log( '- Fehler beim Erhalten der Wikis' + ( error ? ': ' + error : ( body ? ( body.error ? ': ' + body.error.info : '.' ) : '.' ) ) );
|
|
|
ready.allSites = false;
|
|
|
}
|
|
|
else {
|
|
|
console.log( '- Wikis erfolgreich ausgelesen.' );
|
|
|
allSites = Object.assign([], body.data.wikis.filter( site => /^[a-z\d-]{1,30}\.gamepedia\.com$/.test(site.wiki_domain) ));
|
|
|
+ allSites.filter( site => site.wiki_domain in multiManager ).forEach( function(site) {
|
|
|
+ site.wiki_managers = multiManager[site.wiki_domain].concat(site.wiki_managers).filter( (value, index, self) => self.indexOf(value) === index );
|
|
|
+ } );
|
|
|
}
|
|
|
} );
|
|
|
}
|
|
@@ -161,7 +165,7 @@ function cmd_settings(lang, msg, args, line) {
|
|
|
if ( args.length ) {
|
|
|
if ( args[0] ) args[0] = args[0].toLowerCase();
|
|
|
args[1] = args.slice(1).join(' ').toLowerCase().replace( /^<(.*)>$/, '$1' );
|
|
|
- if ( args[1] && ( args[0] == 'wiki' || args[0] == 'channel' ) ) {
|
|
|
+ if ( args[1] && ( args[0] === 'wiki' || args[0] === 'channel' ) ) {
|
|
|
var regex = args[1].match( /^(?:(?:https?:)?\/\/)?([a-z\d-]{1,30})\.gamepedia\.com/ );
|
|
|
}
|
|
|
var langs = '\n' + lang.settings.langhelp.replace( '%s', process.env.prefix + ' settings lang' ) + ' `' + i18n.allLangs[1].join(', ') + '`';
|
|
@@ -171,18 +175,18 @@ function cmd_settings(lang, msg, args, line) {
|
|
|
var nowikis = lang.settings.wikiinvalid + wikis;
|
|
|
var nochannels = lang.settings.wikiinvalid + channels;
|
|
|
if ( msg.guild.id in settings ) {
|
|
|
- var current = args[0] + ( line == 'changed' ? line : '' );
|
|
|
- if ( args[0] == 'lang' ) {
|
|
|
+ var current = args[0] + ( line === 'changed' ? line : '' );
|
|
|
+ if ( args[0] === 'lang' ) {
|
|
|
if ( args[1] ) {
|
|
|
if ( args[1] in i18n.allLangs[0] ) edit_settings(lang, msg, 'lang', i18n.allLangs[0][args[1]]);
|
|
|
else msg.replyMsg( nolangs );
|
|
|
} else msg.replyMsg( lang.settings[current] + langs );
|
|
|
- } else if ( args[0] == 'wiki' ) {
|
|
|
+ } else if ( args[0] === 'wiki' ) {
|
|
|
if ( args[1] ) {
|
|
|
if ( regex !== null ) edit_settings(lang, msg, 'wiki', regex[1]);
|
|
|
else find_wikis(lang, msg, 'wiki', args[1].split(' '), nowikis);
|
|
|
} else msg.replyMsg( lang.settings[current] + ' https://' + settings[msg.guild.id].wiki + '.gamepedia.com/' + wikis );
|
|
|
- } else if ( args[0] == 'channel' ) {
|
|
|
+ } else if ( args[0] === 'channel' ) {
|
|
|
if ( args[1] ) {
|
|
|
if ( regex !== null ) edit_settings(lang, msg, 'channel', regex[1]);
|
|
|
else find_wikis(lang, msg, 'channel', args[1].split(' '), nochannels);
|
|
@@ -191,12 +195,12 @@ function cmd_settings(lang, msg, args, line) {
|
|
|
} else msg.replyMsg( lang.settings[current] + ' https://' + settings[msg.guild.id].wiki + '.gamepedia.com/' + channels );
|
|
|
} else msg.replyMsg( text );
|
|
|
} else {
|
|
|
- if ( args[0] == 'lang' ) {
|
|
|
+ if ( args[0] === 'lang' ) {
|
|
|
if ( args[1] ) {
|
|
|
if ( args[1] in i18n.allLangs[0] ) edit_settings(lang, msg, 'lang', i18n.allLangs[0][args[1]]);
|
|
|
else msg.replyMsg( nolangs );
|
|
|
} else msg.replyMsg( lang.settings.lang + langs );
|
|
|
- } else if ( args[0] == 'wiki' || args[0] == 'channel' ) {
|
|
|
+ } else if ( args[0] === 'wiki' || args[0] === 'channel' ) {
|
|
|
if ( args[1] ) {
|
|
|
if ( regex !== null ) edit_settings(lang, msg, 'wiki', regex[1]);
|
|
|
else find_wikis(lang, msg, 'wiki', args[1].split(' '), nowikis);
|
|
@@ -210,14 +214,11 @@ function cmd_settings(lang, msg, args, line) {
|
|
|
}
|
|
|
|
|
|
function find_wikis(lang, msg, key, value, text) {
|
|
|
- if ( allSites.some( site => site.wiki_domain == value.join('') + '.gamepedia.com' ) ) edit_settings(lang, msg, key, value.join(''));
|
|
|
+ if ( allSites.some( site => site.wiki_domain === value.join('') + '.gamepedia.com' ) ) edit_settings(lang, msg, key, value.join(''));
|
|
|
else {
|
|
|
var sites = allSites.filter( site => site.wiki_display_name.toLowerCase().includes( value.join(' ') ) );
|
|
|
if ( 0 < sites.length && sites.length < 21 ) {
|
|
|
- text += '\n\n' + lang.settings.foundwikis;
|
|
|
- sites.forEach( function(site) {
|
|
|
- text += '\n' + site.wiki_display_name + ': `' + site.wiki_domain + '`';
|
|
|
- } );
|
|
|
+ text += '\n\n' + lang.settings.foundwikis + '\n' + sites.map( site => site.wiki_display_name + ': `' + site.wiki_domain + '`' ).join('\n');
|
|
|
}
|
|
|
msg.replyMsg( text, {split:true} );
|
|
|
}
|
|
@@ -225,7 +226,7 @@ function find_wikis(lang, msg, key, value, text) {
|
|
|
|
|
|
function edit_settings(lang, msg, key, value) {
|
|
|
msg.reactEmoji('⏳').then( function( reaction ) {
|
|
|
- if ( settings == defaultSettings ) {
|
|
|
+ if ( settings === defaultSettings ) {
|
|
|
console.log( '- Fehler beim Erhalten bestehender Einstellungen.' );
|
|
|
msg.replyMsg( lang.settings.save_failed );
|
|
|
if ( reaction ) reaction.removeEmoji();
|
|
@@ -233,18 +234,18 @@ function edit_settings(lang, msg, key, value) {
|
|
|
else {
|
|
|
var temp_settings = Object.assign({}, settings);
|
|
|
if ( !( msg.guild.id in temp_settings ) ) temp_settings[msg.guild.id] = Object.assign({}, defaultSettings['default']);
|
|
|
- if ( key == 'channel' ) {
|
|
|
+ if ( key === 'channel' ) {
|
|
|
if ( !temp_settings[msg.guild.id].channels ) temp_settings[msg.guild.id].channels = {};
|
|
|
temp_settings[msg.guild.id].channels[msg.channel.id] = value;
|
|
|
} else temp_settings[msg.guild.id][key] = value;
|
|
|
Object.keys(temp_settings).forEach( function(guild) {
|
|
|
- if ( !client.guilds.has(guild) && guild != 'default' ) {
|
|
|
+ if ( !client.guilds.has(guild) && guild !== 'default' ) {
|
|
|
delete temp_settings[guild];
|
|
|
} else {
|
|
|
var channels = temp_settings[guild].channels;
|
|
|
if ( channels ) {
|
|
|
Object.keys(channels).forEach( function(channel) {
|
|
|
- if ( channels[channel] == temp_settings[guild].wiki || !client.guilds.get(guild).channels.has(channel) ) delete channels[channel];
|
|
|
+ if ( channels[channel] === temp_settings[guild].wiki || !client.guilds.get(guild).channels.has(channel) ) delete channels[channel];
|
|
|
} );
|
|
|
if ( !Object.keys(channels).length ) delete temp_settings[guild].channels;
|
|
|
}
|
|
@@ -266,13 +267,13 @@ function edit_settings(lang, msg, key, value) {
|
|
|
},
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
- if ( error || !response || response.statusCode != 201 || !body || body.error ) {
|
|
|
+ if ( error || !response || response.statusCode !== 201 || !body || body.error ) {
|
|
|
console.log( '- Fehler beim Bearbeiten' + ( error ? ': ' + error : ( body ? ( body.message ? ': ' + body.message : ( body.error ? ': ' + body.error : '.' ) ) : '.' ) ) );
|
|
|
msg.replyMsg( lang.settings.save_failed );
|
|
|
}
|
|
|
else {
|
|
|
settings = Object.assign({}, temp_settings);
|
|
|
- if ( key == 'lang' ) lang = i18n[value];
|
|
|
+ if ( key === 'lang' ) lang = i18n[value];
|
|
|
cmd_settings(lang, msg, [key], 'changed');
|
|
|
console.log( '- Einstellungen erfolgreich aktualisiert.' );
|
|
|
}
|
|
@@ -284,10 +285,10 @@ function edit_settings(lang, msg, key, value) {
|
|
|
}
|
|
|
|
|
|
function cmd_info(lang, msg, args, line) {
|
|
|
- if ( args.length ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
+ if ( args.join('') ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
else {
|
|
|
var owner = '*MarkusRost*';
|
|
|
- if ( msg.channel.type == 'text' && msg.guild.members.has(process.env.owner) ) owner = '<@' + process.env.owner + '>';
|
|
|
+ if ( msg.channel.type === 'text' && msg.guild.members.has(process.env.owner) ) owner = '<@' + process.env.owner + '>';
|
|
|
msg.channel.sendMsg( lang.disclaimer.replace( '%s', owner ) );
|
|
|
cmd_helpserver(lang, msg);
|
|
|
cmd_invite(lang, msg, args, line);
|
|
@@ -299,16 +300,16 @@ function cmd_helpserver(lang, msg) {
|
|
|
}
|
|
|
|
|
|
function cmd_help(lang, msg, args, line) {
|
|
|
- if ( msg.isAdmin() && !( msg.guild.id in settings ) && settings != defaultSettings ) {
|
|
|
+ if ( msg.isAdmin() && !( msg.guild.id in settings ) && settings !== defaultSettings ) {
|
|
|
cmd_settings(lang, msg, [], line);
|
|
|
cmd_helpserver(lang, msg);
|
|
|
}
|
|
|
var cmds = lang.help.list;
|
|
|
- var isMinecraft = ( lang.link == minecraft[lang.lang].link );
|
|
|
- if ( args.length ) {
|
|
|
+ var isMinecraft = ( lang.link === minecraft[lang.lang].link );
|
|
|
+ if ( args.join('') ) {
|
|
|
if ( args.join(' ').isMention(msg.guild) ) cmd_helpserver(lang, msg);
|
|
|
- else if ( args[0].toLowerCase() == 'admin' ) {
|
|
|
- if ( msg.channel.type != 'text' || msg.isAdmin() ) {
|
|
|
+ else if ( args[0].toLowerCase() === 'admin' ) {
|
|
|
+ if ( msg.channel.type !== 'text' || msg.isAdmin() ) {
|
|
|
var cmdlist = lang.help.admin + '\n';
|
|
|
for ( var i = 0; i < cmds.length; i++ ) {
|
|
|
if ( cmds[i].admin && !cmds[i].hide ) {
|
|
@@ -323,14 +324,14 @@ function cmd_help(lang, msg, args, line) {
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- var cmdlist = ''
|
|
|
+ var cmdlist = '';
|
|
|
for ( var i = 0; i < cmds.length; i++ ) {
|
|
|
- if ( cmds[i].cmd.split(' ')[0] === args[0].toLowerCase() && !cmds[i].unsearchable && ( msg.channel.type != 'text' || !cmds[i].admin || msg.isAdmin() ) && ( !cmds[i].minecraft || isMinecraft ) ) {
|
|
|
+ if ( cmds[i].cmd.split(' ')[0] === args[0].toLowerCase() && !cmds[i].unsearchable && ( msg.channel.type !== 'text' || !cmds[i].admin || msg.isAdmin() ) && ( !cmds[i].minecraft || isMinecraft ) ) {
|
|
|
cmdlist += '🔹 `' + process.env.prefix + ' ' + cmds[i].cmd + '`\n\t' + cmds[i].desc + '\n';
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if ( cmdlist == '' ) msg.reactEmoji('❓');
|
|
|
+ if ( cmdlist === '' ) msg.reactEmoji('❓');
|
|
|
else msg.channel.sendMsg( cmdlist, {split:true} );
|
|
|
}
|
|
|
}
|
|
@@ -349,7 +350,7 @@ function cmd_help(lang, msg, args, line) {
|
|
|
function cmd_say(lang, msg, args, line) {
|
|
|
args = args.toEmojis();
|
|
|
var text = args.join(' ');
|
|
|
- if ( args[0] == 'alarm' ) text = '🚨 **' + args.slice(1).join(' ') + '** 🚨';
|
|
|
+ if ( args[0] === 'alarm' ) text = '🚨 **' + args.slice(1).join(' ') + '** 🚨';
|
|
|
var imgs = msg.attachments.map( function(img) {
|
|
|
return {attachment:img.url,name:img.filename};
|
|
|
} );
|
|
@@ -372,13 +373,13 @@ function cmd_say(lang, msg, args, line) {
|
|
|
}
|
|
|
|
|
|
function cmd_test(lang, msg, args, line) {
|
|
|
- if ( args.length ) {
|
|
|
- if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
- } else if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) {
|
|
|
+ if ( args.join('') ) {
|
|
|
+ if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
+ } else if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
|
|
|
var text = lang.test.default;
|
|
|
var x = Math.floor(Math.random() * lang.test.random);
|
|
|
if ( x < lang.test.text.length ) text = lang.test.text[x];
|
|
|
- console.log( '- Dies ist ein Test: Voll funktionsfähig!' );
|
|
|
+ console.log( '- Test: Voll funktionsfähig!' );
|
|
|
var now = Date.now();
|
|
|
msg.replyMsg( text ).then( edit => {
|
|
|
var then = Date.now();
|
|
@@ -391,8 +392,8 @@ function cmd_test(lang, msg, args, line) {
|
|
|
then = Date.now();
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
var ping = ( then - now ) + 'ms';
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
ping += ' <:unknown_wiki:505887262077353984>';
|
|
|
}
|
|
@@ -406,13 +407,13 @@ function cmd_test(lang, msg, args, line) {
|
|
|
} );
|
|
|
} );
|
|
|
} else {
|
|
|
- console.log( '- Dies ist ein Test: Pausiert!' );
|
|
|
+ console.log( '- Test: Pausiert!' );
|
|
|
msg.replyMsg( lang.test.pause );
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function cmd_invite(lang, msg, args, line) {
|
|
|
- if ( args.length ) {
|
|
|
+ if ( args.join('') ) {
|
|
|
cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
} else {
|
|
|
client.generateInvite(defaultPermissions).then( invite => msg.channel.sendMsg( lang.invite.bot + '\n<' + invite + '>' ), log_error );
|
|
@@ -439,13 +440,13 @@ async function cmd_stop(lang, msg, args, line) {
|
|
|
console.log( '- Ich brauche zu lange zum Beenden, terminieren!' );
|
|
|
process.exit(1);
|
|
|
}, 1000 ).unref();
|
|
|
- } else if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) {
|
|
|
+ } else if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
|
|
|
cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function cmd_pause(lang, msg, args, line) {
|
|
|
- if ( msg.channel.type == 'text' && args.join(' ').split('\n')[0].isMention(msg.guild) ) {
|
|
|
+ if ( msg.channel.type === 'text' && args.join(' ').split('\n')[0].isMention(msg.guild) ) {
|
|
|
if ( pause[msg.guild.id] ) {
|
|
|
delete pause[msg.guild.id];
|
|
|
console.log( '- Ich bin wieder wach!' );
|
|
@@ -455,7 +456,7 @@ function cmd_pause(lang, msg, args, line) {
|
|
|
console.log( '- Ich lege mich nun schlafen!' );
|
|
|
pause[msg.guild.id] = true;
|
|
|
}
|
|
|
- } else if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) {
|
|
|
+ } else if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
|
|
|
cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
}
|
|
|
}
|
|
@@ -483,7 +484,7 @@ function cmd_delete(lang, msg, args, line) {
|
|
|
}
|
|
|
|
|
|
function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '', fragment = '', selfcall = 0) {
|
|
|
- if ( cmd == ' ' && msg.isAdmin() && !( msg.guild.id in settings ) && settings != defaultSettings ) {
|
|
|
+ if ( cmd === ' ' && msg.isAdmin() && !( msg.guild.id in settings ) && settings !== defaultSettings ) {
|
|
|
cmd_settings(lang, msg, [], '');
|
|
|
}
|
|
|
if ( title.includes( '#' ) ) {
|
|
@@ -491,7 +492,7 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
title = title.split('#')[0];
|
|
|
}
|
|
|
if ( /\?[a-z]+=/.test(title) ) {
|
|
|
- var querystart = title.search(/\?[a-z]+=/);
|
|
|
+ var querystart = title.search(/\?\w+=/);
|
|
|
querystring = title.substr(querystart + 1);
|
|
|
title = title.substr(0, querystart);
|
|
|
}
|
|
@@ -505,14 +506,15 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
|
|
|
var mclang = minecraft[lang.lang];
|
|
|
var aliasInvoke = ( invoke in mclang.aliase ) ? mclang.aliase[invoke] : invoke;
|
|
|
- if ( !msg.notminecraft && wiki == mclang.link && ( aliasInvoke in minecraftcmdmap || invoke.startsWith('/') ) ) {
|
|
|
+ if ( !msg.notminecraft && wiki === mclang.link && ( aliasInvoke in minecraftcmdmap || invoke.startsWith('/') ) ) {
|
|
|
if ( aliasInvoke in minecraftcmdmap ) minecraftcmdmap[aliasInvoke](lang, mclang, msg, args, title, cmd, querystring, fragment);
|
|
|
else cmd_befehl(lang, mclang, msg, invoke.substr(1), args, title, cmd, querystring, fragment);
|
|
|
}
|
|
|
- else if ( ( invoke == 'random' || invoke == '🎲' ) && !args.join('') && !linksuffix ) cmd_random(lang, msg, wiki);
|
|
|
- else if ( invoke == 'page' || invoke == lang.search.page ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/' + args.join('_').toTitle() + linksuffix + '>' );
|
|
|
- else if ( invoke == 'search' || invoke == lang.search.search ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/Special:Search/' + args.join('_').toTitle() + linksuffix + '>' );
|
|
|
- else if ( invoke == 'diff' && args.length ) cmd_diff(lang, msg, args, wiki);
|
|
|
+ else if ( ( invoke === 'random' || invoke === '🎲' || invoke === lang.search.random ) && !args.join('') && !linksuffix ) cmd_random(lang, msg, wiki);
|
|
|
+ else if ( ( invoke === 'overview' || invoke === lang.search.overview ) && !args.join('') && !linksuffix ) cmd_overview(lang, msg, wiki);
|
|
|
+ else if ( invoke === 'page' || invoke === lang.search.page ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/' + args.join('_').toTitle() + linksuffix + '>' );
|
|
|
+ else if ( invoke === 'search' || invoke === lang.search.search ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/Special:Search/' + args.join('_').toTitle() + linksuffix + '>' );
|
|
|
+ else if ( invoke === 'diff' && args.join('') ) cmd_diff(lang, msg, args, wiki);
|
|
|
else {
|
|
|
msg.reactEmoji('⏳').then( function( reaction ) {
|
|
|
request( {
|
|
@@ -520,8 +522,8 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined || !body.query ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
@@ -535,24 +537,24 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
else {
|
|
|
if ( body.query.pages ) {
|
|
|
var querypage = Object.values(body.query.pages)[0];
|
|
|
- if ( body.query.redirects && body.query.redirects[0].from.split(':')[0] == body.query.namespaces['-1']['*'] && body.query.specialpagealiases.filter( sp => ['Mypage','Mytalk','MyLanguage'].includes( sp.realname ) ).map( sp => sp.aliases[0] ).includes( body.query.redirects[0].from.split(':').slice(1).join(':').split('/')[0].replace( / /g, '_' ) ) ) {
|
|
|
+ if ( body.query.redirects && body.query.redirects[0].from.split(':')[0] === body.query.namespaces['-1']['*'] && body.query.specialpagealiases.filter( sp => ['Mypage','Mytalk','MyLanguage'].includes( sp.realname ) ).map( sp => sp.aliases[0] ).includes( body.query.redirects[0].from.split(':').slice(1).join(':').split('/')[0].replace( / /g, '_' ) ) ) {
|
|
|
querypage.title = body.query.redirects[0].from;
|
|
|
delete body.query.redirects[0].tofragment;
|
|
|
delete querypage.missing;
|
|
|
querypage.ns = -1;
|
|
|
}
|
|
|
|
|
|
- if ( ( querypage.ns == 2 || querypage.ns == 202 ) && ( !querypage.title.includes( '/' ) || /^[^:]+:[\d\.]+\/\d\d$/.test(querypage.title) ) ) {
|
|
|
+ if ( ( querypage.ns === 2 || querypage.ns === 202 ) && ( !querypage.title.includes( '/' ) || /^[^:]+:[\d\.]+\/\d\d$/.test(querypage.title) ) ) {
|
|
|
var userparts = querypage.title.split(':');
|
|
|
cmd_user(lang, msg, userparts[0].toTitle() + ':', userparts.slice(1).join(':'), wiki, linksuffix, reaction);
|
|
|
}
|
|
|
- else if ( ( querypage.missing != undefined && querypage.known == undefined ) || querypage.invalid != undefined ) {
|
|
|
+ else if ( ( querypage.missing !== undefined && querypage.known === undefined ) || querypage.invalid !== undefined ) {
|
|
|
request( {
|
|
|
- uri: 'https://' + wiki + '.gamepedia.com/api.php?action=query&prop=pageimages|extracts&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',
|
|
|
+ uri: 'https://' + wiki + '.gamepedia.com/api.php?action=query&prop=pageimages|extracts&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',
|
|
|
json: true
|
|
|
}, function( srerror, srresponse, srbody ) {
|
|
|
if ( srbody && srbody.warnings ) log_warn(srbody.warnings);
|
|
|
- if ( srerror || !srresponse || srresponse.statusCode != 200 || !srbody || srbody.batchcomplete == undefined ) {
|
|
|
+ if ( srerror || !srresponse || srresponse.statusCode !== 200 || !srbody || srbody.batchcomplete === undefined ) {
|
|
|
console.log( '- Fehler beim Erhalten der Suchergebnisse' + ( srerror ? ': ' + srerror : ( srbody ? ( srbody.error ? ': ' + srbody.error.info : '.' ) : '.' ) ) );
|
|
|
msg.channel.sendErrorMsg( '<https://' + wiki + '.gamepedia.com/Special:Search/' + title.toTitle() + '>' );
|
|
|
}
|
|
@@ -571,11 +573,11 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
}
|
|
|
if ( querypage.pageimage ) {
|
|
|
var pageimage = 'https://' + wiki + '.gamepedia.com/Special:FilePath/' + querypage.pageimage;
|
|
|
- if ( querypage.ns == 6 ) embed.setImage( pageimage );
|
|
|
+ if ( querypage.ns === 6 ) embed.setImage( pageimage );
|
|
|
else embed.setThumbnail( pageimage );
|
|
|
} else embed.setThumbnail( body.query.general.logo );
|
|
|
|
|
|
- if ( title.replace( /\-/g, ' ' ).toTitle().toLowerCase() == querypage.title.replace( /\-/g, ' ' ).toTitle().toLowerCase() ) {
|
|
|
+ if ( title.replace( /\-/g, ' ' ).toTitle().toLowerCase() === querypage.title.replace( /\-/g, ' ' ).toTitle().toLowerCase() ) {
|
|
|
msg.channel.sendMsg( pagelink, embed );
|
|
|
}
|
|
|
else if ( !srbody.continue ) {
|
|
@@ -600,7 +602,7 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
}
|
|
|
if ( querypage.pageimage ) {
|
|
|
var pageimage = 'https://' + wiki + '.gamepedia.com/Special:FilePath/' + querypage.pageimage;
|
|
|
- if ( querypage.ns == 6 ) embed.setImage( pageimage );
|
|
|
+ if ( querypage.ns === 6 ) embed.setImage( pageimage );
|
|
|
else embed.setThumbnail( pageimage );
|
|
|
} else embed.setThumbnail( body.query.general.logo );
|
|
|
|
|
@@ -619,7 +621,7 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
cmd_link(lang, msg, iwtitle, regex[1], ' !' + regex[1] + ' ', querystring, fragment, selfcall);
|
|
|
} else {
|
|
|
msg.channel.sendMsg( inter.url.replace( /@(here|everyone)/g, '%40$1' ) + linksuffix ).then( message => {
|
|
|
- if ( message && selfcall == 3 ) message.reactEmoji('⚠');
|
|
|
+ if ( message && selfcall === 3 ) message.reactEmoji('⚠');
|
|
|
} );
|
|
|
if ( reaction ) reaction.removeEmoji();
|
|
|
}
|
|
@@ -630,7 +632,7 @@ function cmd_link(lang, msg, title, wiki = lang.link, cmd = ' ', querystring = '
|
|
|
request( {
|
|
|
uri: body.query.general.base
|
|
|
}, function( mperror, mpresponse, mpbody ) {
|
|
|
- if ( mperror || !mpresponse || mpresponse.statusCode != 200 || !mpbody ) {
|
|
|
+ if ( mperror || !mpresponse || mpresponse.statusCode !== 200 || !mpbody ) {
|
|
|
console.log( '- Fehler beim Erhalten der Metadaten' + ( mperror ? ': ' + mperror : ( mpbody ? ( mpbody.error ? ': ' + mpbody.error.info : '.' ) : '.' ) ) );
|
|
|
} else {
|
|
|
var match = mpbody.match( /<meta name="description" content="(.*)"\/>/ );
|
|
@@ -662,13 +664,13 @@ function cmd_umfrage(lang, msg, args, line) {
|
|
|
if ( !custom.test(reaction) && pattern.test(reaction) ) {
|
|
|
cmd_sendumfrage(lang, msg, args, reactions, imgs, i);
|
|
|
break;
|
|
|
- } else if ( reaction == '' ) {
|
|
|
+ } else if ( reaction === '' ) {
|
|
|
} else {
|
|
|
if ( custom.test(reaction) ) {
|
|
|
reaction = reaction.substring(reaction.lastIndexOf(':') + 1, reaction.length - 1);
|
|
|
}
|
|
|
reactions[i] = reaction;
|
|
|
- if ( i == args.length - 1 ) {
|
|
|
+ if ( i === args.length - 1 ) {
|
|
|
cmd_sendumfrage(lang, msg, args, reactions, imgs, i + 1);
|
|
|
break;
|
|
|
}
|
|
@@ -707,12 +709,12 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined || !body.query || !body.query.blocks ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.blocks ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
|
- else if ( body && body.error && ( body.error.code == 'param_ip' || body.error.code == 'cidrtoobroad' ) ) {
|
|
|
+ else if ( body && body.error && ( body.error.code === 'param_ip' || body.error.code === 'cidrtoobroad' ) ) {
|
|
|
msg.reactEmoji('error');
|
|
|
}
|
|
|
else {
|
|
@@ -727,7 +729,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
var isBlocked = false;
|
|
|
var blockedtimestamp = (new Date(block.timestamp)).toLocaleString(lang.user.dateformat, timeoptions);
|
|
|
var blockexpiry = block.expiry;
|
|
|
- if ( blockexpiry == 'infinity' ) {
|
|
|
+ if ( blockexpiry === 'infinity' ) {
|
|
|
blockexpiry = lang.user.block.until_infinity;
|
|
|
isBlocked = true;
|
|
|
} else if ( blockexpiry ) {
|
|
@@ -735,7 +737,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
blockexpiry = (new Date(blockexpiry)).toLocaleString(lang.user.dateformat, timeoptions);
|
|
|
}
|
|
|
if ( isBlocked ) return [lang.user.block.header.replace( '%s', block.user ), lang.user.block.text.replace( '%1$s', blockedtimestamp ).replace( '%2$s', blockexpiry ).replace( '%3$s', '[[User:' + block.by + '|' + block.by + ']]' ).replace( '%4$s', block.reason )];
|
|
|
- } ).filter( block => block != undefined );
|
|
|
+ } ).filter( block => block !== undefined );
|
|
|
if ( username.includes( '/' ) ) {
|
|
|
var rangeprefix = username;
|
|
|
var range = parseInt(username.substr(-2, 2), 10);
|
|
@@ -748,8 +750,8 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
json: true
|
|
|
}, function( ucerror, ucresponse, ucbody ) {
|
|
|
if ( ucbody && ucbody.warnings ) log_warn(ucbody.warnings);
|
|
|
- if ( ucerror || !ucresponse || ucresponse.statusCode != 200 || !ucbody || ucbody.batchcomplete == undefined || !ucbody.query || !ucbody.query.usercontribs ) {
|
|
|
- if ( ucbody && ucbody.error && ucbody.error.code == 'baduser_ucuser' ) {
|
|
|
+ if ( ucerror || !ucresponse || ucresponse.statusCode !== 200 || !ucbody || ucbody.batchcomplete === undefined || !ucbody.query || !ucbody.query.usercontribs ) {
|
|
|
+ if ( ucbody && ucbody.error && ucbody.error.code === 'baduser_ucuser' ) {
|
|
|
msg.reactEmoji('error');
|
|
|
}
|
|
|
else {
|
|
@@ -758,7 +760,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- var editcount = [lang.user.info.editcount, ( username.includes( '/' ) && range != 24 && range != 16 ? '~' : '' ) + ucbody.query.usercontribs.length + ( ucbody.continue ? '+' : '' )];
|
|
|
+ var editcount = [lang.user.info.editcount, ( username.includes( '/' ) && range !== 24 && range !== 16 ? '~' : '' ) + ucbody.query.usercontribs.length + ( ucbody.continue ? '+' : '' )];
|
|
|
|
|
|
var pagelink = 'https://' + wiki + '.gamepedia.com/Special:Contributions/' + username.toTitle();
|
|
|
if ( msg.showEmbed() ) {
|
|
@@ -785,8 +787,8 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined || !body.query || !body.query.users[0] ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.users[0] ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
@@ -796,7 +798,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- if ( body.query.users[0].missing == "" || body.query.users[0].invalid == "" ) {
|
|
|
+ if ( body.query.users[0].missing !== undefined || body.query.users[0].invalid !== undefined ) {
|
|
|
msg.reactEmoji('🤷');
|
|
|
}
|
|
|
else {
|
|
@@ -818,8 +820,8 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
var group = [lang.user.info.group];
|
|
|
for ( var i = 0; i < lang.user.groups.length; i++ ) {
|
|
|
if ( groups.includes( lang.user.groups[i][0] ) ) {
|
|
|
- var thisSite = allSites.find( site => site.wiki_domain == wiki + '.gamepedia.com' );
|
|
|
- if ( lang.user.groups[i][0] == 'hydra_staff' && thisSite && thisSite.wiki_managers.includes( username ) ) group.push(lang.user.manager);
|
|
|
+ var thisSite = allSites.find( site => site.wiki_domain === wiki + '.gamepedia.com' );
|
|
|
+ if ( lang.user.groups[i][0] === 'hydra_staff' && thisSite && thisSite.wiki_managers.includes( username ) ) group.push(lang.user.manager);
|
|
|
else group.push(lang.user.groups[i][1]);
|
|
|
break;
|
|
|
}
|
|
@@ -827,7 +829,7 @@ function cmd_user(lang, msg, namespace, username, wiki, linksuffix, reaction) {
|
|
|
var isBlocked = false;
|
|
|
var blockedtimestamp = (new Date(body.query.users[0].blockedtimestamp)).toLocaleString(lang.user.dateformat, timeoptions);
|
|
|
var blockexpiry = body.query.users[0].blockexpiry;
|
|
|
- if ( blockexpiry == 'infinity' ) {
|
|
|
+ if ( blockexpiry === 'infinity' ) {
|
|
|
blockexpiry = lang.user.block.until_infinity;
|
|
|
isBlocked = true;
|
|
|
} else if ( blockexpiry ) {
|
|
@@ -868,22 +870,22 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
var diff = 0;
|
|
|
var relative = 'prev';
|
|
|
if ( /^\d+$/.test(args[0]) ) {
|
|
|
- revision = args[0];
|
|
|
+ revision = parseInt(args[0], 10);
|
|
|
if ( args[1] ) {
|
|
|
if ( /^\d+$/.test(args[1]) ) {
|
|
|
- diff = args[1];
|
|
|
+ diff = parseInt(args[1], 10);
|
|
|
}
|
|
|
- else if ( args[1] == 'prev' || args[1] == 'next' || args[1] == 'cur' ) {
|
|
|
+ else if ( args[1] === 'prev' || args[1] === 'next' || args[1] === 'cur' ) {
|
|
|
relative = args[1];
|
|
|
}
|
|
|
else error = true;
|
|
|
}
|
|
|
}
|
|
|
- else if ( args[0] == 'prev' || args[0] == 'next' || args[0] == 'cur' ) {
|
|
|
+ else if ( args[0] === 'prev' || args[0] === 'next' || args[0] === 'cur' ) {
|
|
|
relative = args[0];
|
|
|
if ( args[1] ) {
|
|
|
if ( /^\d+$/.test(args[1]) ) {
|
|
|
- revision = args[1];
|
|
|
+ revision = parseInt(args[1], 10);
|
|
|
}
|
|
|
else error = true;
|
|
|
}
|
|
@@ -894,8 +896,8 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
if ( error ) msg.reactEmoji('error');
|
|
|
else if ( diff ) {
|
|
|
var argids = [];
|
|
|
- if ( parseInt(revision, 10) > parseInt(diff, 10) ) argids = [revision, diff];
|
|
|
- else if ( parseInt(revision, 10) == parseInt(diff, 10) ) argids = [revision];
|
|
|
+ if ( revision > diff ) argids = [revision, diff];
|
|
|
+ else if ( revision === diff ) argids = [revision];
|
|
|
else argids = [diff, revision];
|
|
|
msg.reactEmoji('⏳').then( function( reaction ) {
|
|
|
cmd_diffsend(lang, msg, argids, wiki, reaction);
|
|
@@ -908,7 +910,7 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || !body.compare ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || !body.compare ) {
|
|
|
var noerror = false;
|
|
|
if ( body && body.error ) {
|
|
|
switch ( body.error.code ) {
|
|
@@ -925,7 +927,7 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
noerror = false;
|
|
|
}
|
|
|
}
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
@@ -940,7 +942,7 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
if ( reaction ) reaction.removeEmoji();
|
|
|
}
|
|
|
else {
|
|
|
- if ( body.compare.fromarchive != undefined || body.compare.toarchive != undefined ) {
|
|
|
+ if ( body.compare.fromarchive !== undefined || body.compare.toarchive !== undefined ) {
|
|
|
msg.reactEmoji('error');
|
|
|
|
|
|
if ( reaction ) reaction.removeEmoji();
|
|
@@ -950,7 +952,7 @@ function cmd_diff(lang, msg, args, wiki) {
|
|
|
if ( ids.fromrevid && !ids.torevid ) argids = [ids.fromrevid];
|
|
|
else if ( !ids.fromrevid && ids.torevid ) argids = [ids.torevid];
|
|
|
else if ( ids.fromrevid > ids.torevid ) argids = [ids.fromrevid, ids.torevid];
|
|
|
- else if ( ids.fromrevid == ids.torevid ) argids = [ids.fromrevid];
|
|
|
+ else if ( ids.fromrevid === ids.torevid ) argids = [ids.fromrevid];
|
|
|
else argids = [ids.torevid, ids.fromrevid];
|
|
|
cmd_diffsend(lang, msg, argids, wiki, reaction);
|
|
|
}
|
|
@@ -968,8 +970,8 @@ function cmd_diffsend(lang, msg, args, wiki, reaction) {
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined || !body.query ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
@@ -982,7 +984,7 @@ function cmd_diffsend(lang, msg, args, wiki, reaction) {
|
|
|
if ( body.query.badrevids ) msg.replyMsg( lang.diff.badrev );
|
|
|
else if ( body.query.pages && !body.query.pages['-1'] ) {
|
|
|
var pages = Object.values(body.query.pages);
|
|
|
- if ( pages.length != 1 ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/Special:Diff/' + ( args[1] ? args[1] + '/' : '' ) + args[0] + '>' );
|
|
|
+ if ( pages.length !== 1 ) msg.channel.sendMsg( '<https://' + wiki + '.gamepedia.com/Special:Diff/' + ( args[1] ? args[1] + '/' : '' ) + args[0] + '>' );
|
|
|
else {
|
|
|
var title = pages[0].title;
|
|
|
var revisions = [];
|
|
@@ -990,11 +992,11 @@ function cmd_diffsend(lang, msg, args, wiki, reaction) {
|
|
|
else revisions = [pages[0].revisions[0]];
|
|
|
var diff = revisions[0].revid;
|
|
|
var oldid = ( revisions[1] ? revisions[1].revid : 0 );
|
|
|
- var editor = [lang.diff.info.editor, ( revisions[0].userhidden != undefined ? lang.diff.hidden : revisions[0].user )];
|
|
|
+ var editor = [lang.diff.info.editor, ( revisions[0].userhidden !== undefined ? lang.diff.hidden : revisions[0].user )];
|
|
|
var timestamp = [lang.diff.info.timestamp, (new Date(revisions[0].timestamp)).toLocaleString(lang.user.dateformat, timeoptions)];
|
|
|
var difference = revisions[0].size - ( revisions[1] ? revisions[1].size : 0 );
|
|
|
var size = [lang.diff.info.size, lang.diff.info.bytes.replace( '%s', ( difference > 0 ? '+' : '' ) + difference )];
|
|
|
- var comment = [lang.diff.info.comment, ( revisions[0].commenthidden != undefined ? lang.diff.hidden : ( revisions[0].comment ? revisions[0].comment.toFormating(msg.showEmbed(), wiki, title) : lang.diff.nocomment ) )];
|
|
|
+ var comment = [lang.diff.info.comment, ( revisions[0].commenthidden !== undefined ? lang.diff.hidden : ( revisions[0].comment ? revisions[0].comment.toFormating(msg.showEmbed(), wiki, title) : lang.diff.nocomment ) )];
|
|
|
if ( revisions[0].tags.length ) {
|
|
|
var tags = [lang.diff.info.tags, body.query.tags.filter( tag => revisions[0].tags.includes( tag.name ) ).map( tag => tag.displayname ).join(', ')];
|
|
|
var tagregex = /<a [^>]*title="([^"]+)"[^>]*>(.+)<\/a>/g;
|
|
@@ -1033,8 +1035,8 @@ function cmd_random(lang, msg, wiki) {
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body.batchcomplete == undefined || !body.query || !body.query.pages ) {
|
|
|
- if ( response && response.request && response.request.uri && response.request.uri.href == 'https://www.gamepedia.com/' ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.pages ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
msg.reactEmoji('nowiki');
|
|
|
}
|
|
@@ -1054,7 +1056,7 @@ function cmd_random(lang, msg, wiki) {
|
|
|
}
|
|
|
if ( querypage.pageimage ) {
|
|
|
var pageimage = 'https://' + wiki + '.gamepedia.com/Special:FilePath/' + querypage.pageimage;
|
|
|
- if ( querypage.ns == 6 ) embed.setImage( pageimage );
|
|
|
+ if ( querypage.ns === 6 ) embed.setImage( pageimage );
|
|
|
else embed.setThumbnail( pageimage );
|
|
|
} else embed.setThumbnail( body.query.general.logo );
|
|
|
|
|
@@ -1066,6 +1068,59 @@ function cmd_random(lang, msg, wiki) {
|
|
|
} );
|
|
|
}
|
|
|
|
|
|
+function cmd_overview(lang, msg, wiki) {
|
|
|
+ msg.reactEmoji('⏳').then( function( reaction ) {
|
|
|
+ request( {
|
|
|
+ uri: 'https://' + wiki + '.gamepedia.com/api.php?action=query&meta=siteinfo&siprop=general&titles=Special:Statistics&format=json',
|
|
|
+ json: true
|
|
|
+ }, function( error, response, body ) {
|
|
|
+ if ( body && body.warnings ) log_warn(body.warnings);
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body.batchcomplete === undefined || !body.query || !body.query.pages ) {
|
|
|
+ if ( response && response.request && response.request.uri && response.request.uri.href === 'https://www.gamepedia.com/' ) {
|
|
|
+ console.log( '- Dieses Wiki existiert nicht! ' + ( error ? error.message : ( body ? ( body.error ? body.error.info : '' ) : '' ) ) );
|
|
|
+ msg.reactEmoji('nowiki');
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.log( '- Fehler beim Erhalten der Suchergebnisse' + ( error ? ': ' + error : ( body ? ( body.error ? ': ' + body.error.info : '.' ) : '.' ) ) );
|
|
|
+ msg.channel.sendErrorMsg( '<https://' + wiki + '.gamepedia.com/Special:Statistics>' );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if ( allSites.some( site => site.wiki_domain === body.query.general.servername ) ) {
|
|
|
+ var site = allSites.find( site => site.wiki_domain === body.query.general.servername );
|
|
|
+
|
|
|
+ var name = [lang.overview.name, site.wiki_display_name];
|
|
|
+ var created = [lang.overview.created, (new Date(parseInt(site.created + '000', 10))).toLocaleString(lang.user.dateformat, timeoptions)];
|
|
|
+ var manager = [lang.overview.manager, site.wiki_managers];
|
|
|
+ var official = [lang.overview.official, ( site.official_wiki ? lang.overview.yes : lang.overview.no )];
|
|
|
+ var articles = [lang.overview.articles, site.ss_good_articles];
|
|
|
+ var pages = [lang.overview.pages, site.ss_total_pages];
|
|
|
+ var edits = [lang.overview.edits, site.ss_total_edits];
|
|
|
+ var users = [lang.overview.users, site.ss_active_users];
|
|
|
+
|
|
|
+ var title = body.query.pages['-1'].title;
|
|
|
+ var pagelink = 'https://' + wiki + '.gamepedia.com/' + title.toTitle();
|
|
|
+ if ( msg.showEmbed() ) {
|
|
|
+ var text = '<' + pagelink + '>';
|
|
|
+ var managerlist = manager[1].map( manager => '[' + manager + '](https://' + wiki + '.gamepedia.com/User:' + manager.toTitle(true) + ') ([' + lang.overview.talk + '](https://' + wiki + '.gamepedia.com/User_talk:' + manager.toTitle(true) + '))' ).join('\n');
|
|
|
+ var embed = new Discord.RichEmbed().setAuthor( body.query.general.sitename ).setTitle( title.escapeFormatting() ).setURL( pagelink ).setThumbnail( body.query.general.logo ).addField( name[0], name[1], true ).addField( created[0], created[1], true ).addField( manager[0], managerlist, true ).addField( official[0], official[1], 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 ).setTimestamp( client.readyTimestamp ).setFooter( lang.overview.inaccurate );
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ var embed = {};
|
|
|
+ var text = '<' + pagelink + '>\n\n' + name.join(' ') + '\n' + created.join(' ') + '\n' + manager[0] + ' ' + manager[1].join(', ') + '\n' + official.join(' ') + '\n' + articles.join(' ') + '\n' + pages.join(' ') + '\n' + edits.join(' ') + '\n' + users.join(' ') + '\n\n*' + lang.overview.inaccurate + '*';
|
|
|
+ }
|
|
|
+
|
|
|
+ msg.channel.sendMsg( text, embed );
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.log( '- Dieses Wiki ist nicht gelistet: ' + wiki + '.gamepedia.com' )
|
|
|
+ msg.replyMsg( lang.overview.missing );
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( reaction ) reaction.removeEmoji();
|
|
|
+ } );
|
|
|
+ } );
|
|
|
+}
|
|
|
+
|
|
|
function cmd_bug(lang, mclang, msg, args, title, cmd, querystring, fragment) {
|
|
|
if ( args.length && /\d+$/.test(args[0]) && !args[1] ) {
|
|
|
msg.reactEmoji('⏳').then( function( reaction ) {
|
|
@@ -1075,7 +1130,7 @@ function cmd_bug(lang, mclang, msg, args, title, cmd, querystring, fragment) {
|
|
|
uri: 'https://bugs.mojang.com/rest/api/2/issue/' + project + args[0] + '?fields=summary,fixVersions,resolution,status',
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
- if ( error || !response || response.statusCode != 200 || !body || body['status-code'] == 404 || body.errorMessages || body.errors ) {
|
|
|
+ if ( error || !response || response.statusCode !== 200 || !body || body['status-code'] === 404 || body.errorMessages || body.errors ) {
|
|
|
if ( body.errorMessages || body.errors ) {
|
|
|
if ( body.errorMessages ) {
|
|
|
if ( body.errorMessages.includes( 'Issue Does Not Exist' ) ) {
|
|
@@ -1093,7 +1148,7 @@ function cmd_bug(lang, mclang, msg, args, title, cmd, querystring, fragment) {
|
|
|
}
|
|
|
else {
|
|
|
console.log( '- Fehler beim Erhalten der Zusammenfassung' + ( error ? ': ' + error : ( body ? ': ' + body.message : '.' ) ) );
|
|
|
- if ( body && body['status-code'] == 404 ) msg.reactEmoji('error');
|
|
|
+ if ( body && body['status-code'] === 404 ) msg.reactEmoji('error');
|
|
|
else msg.channel.sendErrorMsg( 'https://bugs.mojang.com/browse/' + project + args[0] );
|
|
|
}
|
|
|
}
|
|
@@ -1134,7 +1189,7 @@ function cmd_befehl(lang, mclang, msg, befehl, args, title, cmd, querystring, fr
|
|
|
}
|
|
|
|
|
|
function cmd_befehl2(lang, mclang, msg, args, title, cmd, querystring, fragment) {
|
|
|
- if ( args.length ) {
|
|
|
+ if ( args.join('') ) {
|
|
|
if ( args[0].startsWith('/') ) cmd_befehl(lang, mclang, msg, args[0].substr(1), args.slice(1), title, cmd);
|
|
|
else cmd_befehl(lang, mclang, msg, args[0], args.slice(1), title, cmd);
|
|
|
}
|
|
@@ -1145,14 +1200,14 @@ function cmd_befehl2(lang, mclang, msg, args, title, cmd, querystring, fragment)
|
|
|
}
|
|
|
|
|
|
function cmd_multiline(lang, msg, args, line) {
|
|
|
- if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) {
|
|
|
+ if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) {
|
|
|
if ( msg.isAdmin() ) msg.reactEmoji('error');
|
|
|
else msg.reactEmoji('❌');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function cmd_voice(lang, msg, args, line) {
|
|
|
- if ( msg.isAdmin() && !args.length ) msg.replyMsg( lang.voice.text + '\n`' + lang.voice.channel + ' – <' + lang.voice.name + '>`' );
|
|
|
+ if ( msg.isAdmin() && !args.join('') ) msg.replyMsg( lang.voice.text + '\n`' + lang.voice.channel + ' – <' + lang.voice.name + '>`' );
|
|
|
else cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
}
|
|
|
|
|
@@ -1193,8 +1248,8 @@ function cmd_get(lang, msg, args, line) {
|
|
|
var text = username.join(' ') + '\n' + guildlist.join(' ');
|
|
|
}
|
|
|
msg.channel.sendMsg( text, embed );
|
|
|
- } else if ( client.guilds.some( guild => guild.channels.filter( chat => chat.type == 'text' ).has(id) ) ) {
|
|
|
- var channel = client.guilds.find( guild => guild.channels.filter( chat => chat.type == 'text' ).has(id) ).channels.get(id);
|
|
|
+ } else if ( client.guilds.some( guild => guild.channels.filter( chat => chat.type === 'text' ).has(id) ) ) {
|
|
|
+ var channel = client.guilds.find( guild => guild.channels.filter( chat => chat.type === 'text' ).has(id) ).channels.get(id);
|
|
|
var channelguild = ['Guild:', channel.guild.name + ' `' + channel.guild.id + '`'];
|
|
|
var channelname = ['Channel:', '#' + channel.name + ' `' + channel.id + '` ' + channel.toString()];
|
|
|
var channelpermissions = ['Missing permissions:', ( channel.memberPermissions(channel.guild.me).has(defaultPermissions) ? '*none*' : '`' + channel.memberPermissions(channel.guild.me).missing(defaultPermissions).join('`, `') + '`' )];
|
|
@@ -1209,27 +1264,27 @@ function cmd_get(lang, msg, args, line) {
|
|
|
}
|
|
|
msg.channel.sendMsg( text, embed );
|
|
|
} else msg.replyMsg( 'I couldn\'t find a result for `' + id + '`' );
|
|
|
- } else if ( msg.channel.type != 'text' || !pause[msg.guild.id] ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
+ } else if ( msg.channel.type !== 'text' || !pause[msg.guild.id] ) cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
}
|
|
|
|
|
|
String.prototype.isMention = function(guild) {
|
|
|
var text = this.trim();
|
|
|
- if ( text == '@' + client.user.username || text.replace( /^<@!?(\d+)>$/, '$1' ) == client.user.id || ( guild && text == '@' + guild.me.displayName ) ) return true;
|
|
|
+ if ( text === '@' + client.user.username || text.replace( /^<@!?(\d+)>$/, '$1' ) === client.user.id || ( guild && text === '@' + guild.me.displayName ) ) return true;
|
|
|
else return false;
|
|
|
};
|
|
|
|
|
|
Discord.Message.prototype.isAdmin = function() {
|
|
|
- if ( this.channel.type == 'text' && this.member && this.member.permissions.has('MANAGE_GUILD') ) return true;
|
|
|
+ if ( this.channel.type === 'text' && this.member && this.member.permissions.has('MANAGE_GUILD') ) return true;
|
|
|
else return false;
|
|
|
};
|
|
|
|
|
|
Discord.Message.prototype.isOwner = function() {
|
|
|
- if ( this.author.id == process.env.owner ) return true;
|
|
|
+ if ( this.author.id === process.env.owner ) return true;
|
|
|
else return false;
|
|
|
};
|
|
|
|
|
|
Discord.Message.prototype.showEmbed = function() {
|
|
|
- if ( this.channel.type != 'text' || this.channel.permissionsFor(client.user).has('EMBED_LINKS') ) return true;
|
|
|
+ if ( this.channel.type !== 'text' || this.channel.permissionsFor(client.user).has('EMBED_LINKS') ) return true;
|
|
|
else return false;
|
|
|
};
|
|
|
|
|
@@ -1278,7 +1333,7 @@ String.prototype.toMarkdown = function(wiki, title = '') {
|
|
|
text = text.replace( link[0], '[' + link[2] + link[3] + '](https://' + wiki + '.gamepedia.com/' + page + ')' );
|
|
|
}
|
|
|
}
|
|
|
- while ( title != '' && ( link = /\/\*\s*([^\*]+?)\s*\*\/\s*(.)?/g.exec(text) ) !== null ) {
|
|
|
+ while ( title !== '' && ( link = /\/\*\s*([^\*]+?)\s*\*\/\s*(.)?/g.exec(text) ) !== null ) {
|
|
|
var page = title.toTitle(true) + '#' + link[1].toSection();
|
|
|
text = text.replace( link[0], '[→](https://' + wiki + '.gamepedia.com/' + page + ')' + link[1] + ( link[2] ? ': ' + link[2] : '' ) );
|
|
|
}
|
|
@@ -1344,24 +1399,24 @@ String.prototype.hasPrefix = function(flags = '') {
|
|
|
};
|
|
|
|
|
|
client.on( 'message', msg => {
|
|
|
- if ( stop || !msg.content.hasPrefix('m') || msg.webhookID || msg.author.id == client.user.id ) return;
|
|
|
+ if ( stop || !msg.content.hasPrefix('m') || msg.webhookID || msg.author.id === client.user.id ) return;
|
|
|
|
|
|
var cont = msg.content;
|
|
|
var author = msg.author;
|
|
|
var channel = msg.channel;
|
|
|
- if ( channel.type == 'text' ) var permissions = channel.permissionsFor(client.user);
|
|
|
+ if ( channel.type === 'text' ) var permissions = channel.permissionsFor(client.user);
|
|
|
|
|
|
- if ( !ready.settings && settings == defaultSettings ) getSettings(setStatus);
|
|
|
- if ( !ready.allSites && allSites == defaultSites ) getAllSites();
|
|
|
+ if ( !ready.settings && settings === defaultSettings ) getSettings(setStatus);
|
|
|
+ if ( !ready.allSites && allSites === defaultSites ) getAllSites();
|
|
|
var setting = Object.assign({}, settings['default']);
|
|
|
- if ( settings == defaultSettings ) {
|
|
|
+ if ( settings === defaultSettings ) {
|
|
|
msg.channel.sendMsg( '⚠ **Limited Functionality** ⚠\nNo settings found, please contact the bot owner!\n' + process.env.invite );
|
|
|
- } else if ( channel.type == 'text' && msg.guild.id in settings ) setting = Object.assign({}, settings[msg.guild.id]);
|
|
|
+ } else if ( channel.type === 'text' && msg.guild.id in settings ) setting = Object.assign({}, settings[msg.guild.id]);
|
|
|
var lang = Object.assign({}, i18n[setting.lang]);
|
|
|
lang.link = setting.wiki;
|
|
|
if ( setting.channels && channel.id in setting.channels ) lang.link = setting.channels[channel.id];
|
|
|
|
|
|
- if ( channel.type != 'text' || permissions.has(['SEND_MESSAGES','ADD_REACTIONS','USE_EXTERNAL_EMOJIS','READ_MESSAGE_HISTORY']) ) {
|
|
|
+ if ( channel.type !== 'text' || permissions.has(['SEND_MESSAGES','ADD_REACTIONS','USE_EXTERNAL_EMOJIS','READ_MESSAGE_HISTORY']) ) {
|
|
|
var invoke = cont.split(' ')[1] ? cont.split(' ')[1].split('\n')[0].toLowerCase() : '';
|
|
|
var aliasInvoke = ( invoke in lang.aliase ) ? lang.aliase[invoke] : invoke;
|
|
|
var ownercmd = msg.isOwner() && aliasInvoke in ownercmdmap;
|
|
@@ -1386,15 +1441,15 @@ client.on( 'message', msg => {
|
|
|
var args = line.split(' ').slice(2);
|
|
|
aliasInvoke = ( invoke in lang.aliase ) ? lang.aliase[invoke] : invoke;
|
|
|
ownercmd = msg.isOwner() && aliasInvoke in ownercmdmap;
|
|
|
- if ( channel.type == 'text' && pause[msg.guild.id] && !( ( msg.isAdmin() && aliasInvoke in pausecmdmap ) || ownercmd ) ) console.log( msg.guild.name + ': Pausiert' );
|
|
|
+ if ( channel.type === 'text' && pause[msg.guild.id] && !( ( msg.isAdmin() && aliasInvoke in pausecmdmap ) || ownercmd ) ) console.log( msg.guild.name + ': Pausiert' );
|
|
|
else console.log( ( msg.guild ? msg.guild.name : '@' + author.username ) + ': ' + line );
|
|
|
if ( ownercmd ) ownercmdmap[aliasInvoke](lang, msg, args, line);
|
|
|
- else if ( channel.type != 'text' || !pause[msg.guild.id] || ( msg.isAdmin() && aliasInvoke in pausecmdmap ) ) {
|
|
|
+ else if ( channel.type !== 'text' || !pause[msg.guild.id] || ( msg.isAdmin() && aliasInvoke in pausecmdmap ) ) {
|
|
|
if ( aliasInvoke in cmdmap ) cmdmap[aliasInvoke](lang, msg, args, line);
|
|
|
else if ( /^![a-z\d-]{1,30}$/.test(invoke) ) cmd_link(lang, msg, args.join(' '), invoke.substr(1), ' ' + invoke + ' ');
|
|
|
else cmd_link(lang, msg, line.split(' ').slice(1).join(' '));
|
|
|
}
|
|
|
- } else if ( line.hasPrefix() && count == 10 ) {
|
|
|
+ } else if ( line.hasPrefix() && count === 10 ) {
|
|
|
count++;
|
|
|
console.log( '- Nachricht enthält zu viele Befehle!' );
|
|
|
msg.reactEmoji('⚠');
|
|
@@ -1413,21 +1468,21 @@ client.on( 'message', msg => {
|
|
|
client.on( 'voiceStateUpdate', (oldm, newm) => {
|
|
|
if ( stop ) return;
|
|
|
|
|
|
- if ( !ready.settings && settings == defaultSettings ) getSettings(setStatus);
|
|
|
- if ( !ready.allSites && allSites == defaultSites ) getAllSites();
|
|
|
- if ( oldm.guild.me.permissions.has('MANAGE_ROLES') && oldm.voiceChannelID != newm.voiceChannelID ) {
|
|
|
+ if ( !ready.settings && settings === defaultSettings ) getSettings(setStatus);
|
|
|
+ if ( !ready.allSites && allSites === defaultSites ) getAllSites();
|
|
|
+ if ( oldm.guild.me.permissions.has('MANAGE_ROLES') && oldm.voiceChannelID !== newm.voiceChannelID ) {
|
|
|
var setting = Object.assign({}, settings['default']);
|
|
|
if ( oldm.guild.id in settings ) setting = Object.assign({}, settings[oldm.guild.id]);
|
|
|
var lang = i18n[setting.lang];
|
|
|
if ( oldm.voiceChannel ) {
|
|
|
- var oldrole = oldm.roles.find( role => role.name == lang.voice.channel + ' – ' + oldm.voiceChannel.name );
|
|
|
+ var oldrole = oldm.roles.find( role => role.name === lang.voice.channel + ' – ' + oldm.voiceChannel.name );
|
|
|
if ( oldrole && oldrole.comparePositionTo(oldm.guild.me.highestRole) < 0 ) {
|
|
|
console.log( oldm.guild.name + ': ' + oldm.displayName + ' hat den Sprachkanal "' + oldm.voiceChannel.name + '" verlassen.' );
|
|
|
oldm.removeRole( oldrole, lang.voice.left.replace( '%1$s', oldm.displayName ).replace( '%2$s', oldm.voiceChannel.name ) ).catch(log_error);
|
|
|
}
|
|
|
}
|
|
|
if ( newm.voiceChannel ) {
|
|
|
- var newrole = newm.guild.roles.find( role => role.name == lang.voice.channel + ' – ' + newm.voiceChannel.name );
|
|
|
+ var newrole = newm.guild.roles.find( role => role.name === lang.voice.channel + ' – ' + newm.voiceChannel.name );
|
|
|
if ( newrole && newrole.comparePositionTo(newm.guild.me.highestRole) < 0 ) {
|
|
|
console.log( newm.guild.name + ': ' + newm.displayName + ' hat den Sprachkanal "' + newm.voiceChannel.name + '" betreten.' );
|
|
|
newm.addRole( newrole, lang.voice.join.replace( '%1$s', newm.displayName ).replace( '%2$s', newm.voiceChannel.name ) ).catch(log_error);
|
|
@@ -1448,13 +1503,13 @@ client.on( 'guildDelete', guild => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if ( settings == defaultSettings ) {
|
|
|
+ if ( settings === defaultSettings ) {
|
|
|
console.log( '- Fehler beim Erhalten bestehender Einstellungen.' );
|
|
|
}
|
|
|
else {
|
|
|
var temp_settings = Object.assign({}, settings);
|
|
|
Object.keys(temp_settings).forEach( function(guild) {
|
|
|
- if ( !client.guilds.has(guild) && guild != 'default' ) delete temp_settings[guild];
|
|
|
+ if ( !client.guilds.has(guild) && guild !== 'default' ) delete temp_settings[guild];
|
|
|
} );
|
|
|
request.post( {
|
|
|
uri: process.env.save,
|
|
@@ -1472,7 +1527,7 @@ client.on( 'guildDelete', guild => {
|
|
|
},
|
|
|
json: true
|
|
|
}, function( error, response, body ) {
|
|
|
- if ( error || !response || response.statusCode != 201 || !body || body.error ) {
|
|
|
+ if ( error || !response || response.statusCode !== 201 || !body || body.error ) {
|
|
|
console.log( '- Fehler beim Bearbeiten' + ( error ? ': ' + error : ( body ? ( body.message ? ': ' + body.message : ( body.error ? ': ' + body.error : '.' ) ) : '.' ) ) );
|
|
|
}
|
|
|
else {
|
|
@@ -1520,7 +1575,7 @@ async function graceful(code = 1) {
|
|
|
console.log( '- SIGTERM: Beenden dauert zu lange, terminieren!' );
|
|
|
process.exit(code);
|
|
|
}, 1000 ).unref();
|
|
|
- }, 10000 ).unref();
|
|
|
+ }, 5000 ).unref();
|
|
|
}
|
|
|
|
|
|
process.once( 'SIGINT', graceful );
|