Просмотр исходного кода

Remove deleted webhooks automatically

Markus-Rost 3 лет назад
Родитель
Сommit
9e34e2fcbf
3 измененных файлов с 419 добавлено и 155 удалено
  1. 18 3
      dashboard/rcscript.js
  2. 398 149
      package-lock.json
  3. 3 3
      package.json

+ 18 - 3
dashboard/rcscript.js

@@ -221,9 +221,15 @@ function dashboard_rcscript(res, $, guild, args, dashboardLang) {
 			return got.get( 'https://discord.com/api/webhooks/' + row.webhook ).then( response => {
 				if ( !response.body?.channel_id ) {
 					console.log( '- Dashboard: ' + response.statusCode + ': Error while getting the webhook: ' + response.body?.message );
-					row.channel = 'UNKNOWN';
-					row.name = 'UNKNOWN';
-					row.avatar = '';
+					if ( ( response.body?.message === 'Unknown Webhook' && response.body?.code === 10015 )
+					|| ( response.body?.message === 'Invalid Webhook Token' && response.body?.code === 50027 ) ) {
+						row.DELETED = true;
+					}
+					else {
+						row.channel = 'UNKNOWN';
+						row.name = 'UNKNOWN';
+						row.avatar = '';
+					}
 				}
 				else {
 					row.channel = response.body.channel_id;
@@ -237,6 +243,15 @@ function dashboard_rcscript(res, $, guild, args, dashboardLang) {
 				row.avatar = '';
 			} );
 		} )).finally( () => {
+			if ( rows.some( row => row.DELETED ) ) {
+				let deletedRows = rows.filter( row => row.DELETED ).map( row => row.webhook );
+				db.query( 'DELETE FROM rcgcdw WHERE webhook IN (' + deletedRows.map( (row, i) => '$' + ( i + 1 ) ).join(', ') + ')', deletedRows ).then( () => {
+					console.log( '- Dashboard: Deleted RcGcDw successfully removed.' );
+				}, dberror => {
+					console.log( '- Dashboard: Error while removing the deleted RcGcDw: ' + dberror );
+				} );
+				rows = rows.filter( row => !row.DELETED );
+			}
 			let suffix = ( args[0] === 'owner' ? '?owner=true' : '' );
 			$('#channellist #rcscript').after(
 				...rows.map( row => {

Разница между файлами не показана из-за своего большого размера
+ 398 - 149
package-lock.json


+ 3 - 3
package.json

@@ -17,13 +17,13 @@
   "dependencies": {
     "cheerio": "^1.0.0-rc.10",
     "datetime-difference": "^1.0.2",
-    "discord-oauth2": "^2.7.1",
+    "discord-oauth2": "^2.8.0",
     "discord.js": "^13.1.0",
     "dotenv": "^10.0.0",
     "full-icu": "^1.3.4",
     "got": "^11.8.2",
-    "htmlparser2": "^6.1.0",
-    "npm": "^7.21.1",
+    "htmlparser2": "^7.1.2",
+    "npm": "^7.24.1",
     "pg": "^8.7.1"
   },
   "repository": {

Некоторые файлы не были показаны из-за большого количества измененных файлов