Parcourir la source

Fixed bug changing others settings

Markus-Rost il y a 7 ans
Parent
commit
5a526fa491
1 fichiers modifiés avec 10 ajouts et 10 suppressions
  1. 10 10
      main.js

+ 10 - 10
main.js

@@ -16,7 +16,7 @@ var defaultSettings = {
 		"wiki": "help"
 	}
 }
-var settings = defaultSettings;
+var settings = Object.assign({}, defaultSettings);
 
 function getSettings(callback) {
 	request( {
@@ -28,7 +28,7 @@ function getSettings(callback) {
 		}
 		else {
 			console.log( 'Einstellungen erfolgreich ausgelesen.' );
-			settings = body;
+			settings = Object.assign(settings, body);
 		}
 		callback();
 	} );
@@ -171,8 +171,8 @@ function edit_settings(lang, msg, key, value) {
 								msg.reply( lang.settings.save_failed );
 							}
 							else {
-								var temp_settings = settings;
-								if ( !( msg.guild.id in temp_settings ) ) temp_settings[msg.guild.id] = defaultSettings['default'];
+								var temp_settings = Object.assign({}, settings);
+								if ( !( msg.guild.id in temp_settings ) ) temp_settings[msg.guild.id] = Object.assign({}, defaultSettings['default']);
 								temp_settings[msg.guild.id][key] = value;
 								Object.keys(temp_settings).forEach( function(guild) {
 									if ( !client.guilds.has(guild) && guild != 'default' ) delete temp_settings[guild];
@@ -195,9 +195,9 @@ function edit_settings(lang, msg, key, value) {
 										msg.reply( lang.settings.save_failed );
 									}
 									else {
-										settings = temp_settings;
+										settings = Object.assign(settings, temp_settings);
 										if ( key == 'lang' ) lang = i18n[value];
-										cmd_settings(lang, msg, [key], '')
+										cmd_settings(lang, msg, [key], '');
 										console.log( 'Einstellungen erfolgreich aktualisiert.' );
 									}
 								} );
@@ -687,8 +687,8 @@ client.on('message', msg => {
 	var channel = msg.channel;
 	if ( cont.toLowerCase().indexOf( process.env.prefix ) != -1 && !msg.webhookID && author.id != client.user.id && ( channel.type != 'text' || channel.permissionsFor(client.user).has(['SEND_MESSAGES','ADD_REACTIONS','USE_EXTERNAL_EMOJIS']) ) ) {
 		if ( settings == defaultSettings ) getSettings(setStatus);
-		var setting = settings['default'];
-		if ( channel.type == 'text' && msg.guild.id in settings ) setting = settings[msg.guild.id];
+		var setting = Object.assign({}, settings['default']);
+		if ( channel.type == 'text' && msg.guild.id in settings ) setting = Object.assign(setting, settings[msg.guild.id]);
 		var lang = i18n[setting.lang];
 		lang.link = setting.wiki;
 		var invoke = cont.split(' ')[1].toLowerCase();
@@ -725,8 +725,8 @@ client.on('message', msg => {
 client.on('voiceStateUpdate', (oldm, newm) => {
 	if ( settings == defaultSettings ) getSettings(setStatus);
 	if ( oldm.guild.me.permissions.has('MANAGE_ROLES') && oldm.voiceChannelID != newm.voiceChannelID ) {
-		var setting = settings['default'];
-		if ( oldm.guild.id in settings ) setting = settings[oldm.guild.id];
+		var setting = Object.assign({}, settings['default']);
+		if ( oldm.guild.id in settings ) setting = Object.assign(setting, settings[oldm.guild.id]);
 		var lang = i18n[setting.lang];
 		lang.link = setting.wiki;
 		if ( oldm.voiceChannel ) {