瀏覽代碼

fix crash

Markus-Rost 3 年之前
父節點
當前提交
05f9daecd2
共有 4 個文件被更改,包括 7 次插入3 次删除
  1. 1 1
      bot.js
  2. 1 1
      dashboard/src/index.js
  3. 4 0
      main.js
  4. 1 1
      util/wiki.js

+ 1 - 1
bot.js

@@ -355,7 +355,7 @@ const leftGuilds = new Map();
 client.on( 'guildCreate', guild => {
 client.on( 'guildCreate', guild => {
 	console.log( '- ' + guild.id + ': I\'ve been added to a server.' );
 	console.log( '- ' + guild.id + ': I\'ve been added to a server.' );
 	if ( leftGuilds.has(guild.id) ) {
 	if ( leftGuilds.has(guild.id) ) {
-		client.clearTimeout(leftGuilds.get(guild.id));
+		clearTimeout(leftGuilds.get(guild.id));
 		leftGuilds.delete(guild.id);
 		leftGuilds.delete(guild.id);
 	}
 	}
 } );
 } );

+ 1 - 1
dashboard/src/index.js

@@ -150,7 +150,7 @@ if ( wiki ) {
 			if ( regex ) wikinew = regex[1];
 			if ( regex ) wikinew = regex[1];
 			else if ( !wiki.validity.valid ) return wiki.reportValidity();
 			else if ( !wiki.validity.valid ) return wiki.reportValidity();
 			else {
 			else {
-				wikinew = wikinew.replace( /\/(?:index|api|load|rest)\.php(?:|\?.*)$/, '' ).replace( /\/$/, '' );
+				wikinew = wikinew.replace( /\/(?:index|api|load|rest)\.php(?:|[\?\/#].*)$/, '' ).replace( /\/$/, '' );
 			}
 			}
 			var readonly = wiki.readOnly;
 			var readonly = wiki.readOnly;
 			wiki.readOnly = true;
 			wiki.readOnly = true;

+ 4 - 0
main.js

@@ -60,6 +60,10 @@ manager.on( 'shardCreate', shard => {
 			else console.log( `\n\n- Shard[${shard.id}]: Died due to fatal error!\n\n` );
 			else console.log( `\n\n- Shard[${shard.id}]: Died due to fatal error!\n\n` );
 		}
 		}
 	} );
 	} );
+
+	shard.on( 'error', error => {
+		console.log( `- Shard[${shard.id}]: Error received!`, error );
+	} );
 } );
 } );
 
 
 manager.spawn({timeout: 60000}).then( shards => {
 manager.spawn({timeout: 60000}).then( shards => {

+ 1 - 1
util/wiki.js

@@ -239,7 +239,7 @@ class Wiki extends URL {
 				regex = input.match( new RegExp( project.regex + `(?:${project.articlePath}|${project.scriptPath}|/?$)` ) );
 				regex = input.match( new RegExp( project.regex + `(?:${project.articlePath}|${project.scriptPath}|/?$)` ) );
 				if ( regex ) return new this('https://' + regex[1] + project.scriptPath);
 				if ( regex ) return new this('https://' + regex[1] + project.scriptPath);
 			}
 			}
-			let wiki = input.replace( /\/(?:index|api|load|rest)\.php(?:|\?.*)$/, '/' );
+			let wiki = input.replace( /\/(?:index|api|load|rest)\.php(?:|[\?\/#].*)$/, '/' );
 			if ( !wiki.endsWith( '/' ) ) wiki += '/';
 			if ( !wiki.endsWith( '/' ) ) wiki += '/';
 			return new this(wiki);
 			return new this(wiki);
 		}
 		}