/[sudobot]/trunk/src/client/Client.ts
ViewVC logotype

Diff of /trunk/src/client/Client.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 234 by rakin, Mon Jul 29 17:29:08 2024 UTC revision 268 by rakin, Mon Jul 29 17:29:17 2024 UTC
# Line 12  import MessageFilter from '../automod/Me Line 12  import MessageFilter from '../automod/Me
12  import AntiRaid from '../automod/AntiRaid';  import AntiRaid from '../automod/AntiRaid';
13  import Starboard from '../services/Starboard';  import Starboard from '../services/Starboard';
14  import Server from '../api/Server';  import Server from '../api/Server';
 import Cooldown from '../automod/Cooldown';  
15  import StartupManager from '../services/StartupManager';  import StartupManager from '../services/StartupManager';
16  import AutoClear from '../automod/AutoClear';  import AutoClear from '../automod/AutoClear';
17  import RandomStatus from '../services/RandomStatus';  import RandomStatus from '../services/RandomStatus';
# Line 25  import Welcomer from '../services/Welcom Line 24  import Welcomer from '../services/Welcom
24  import Antijoin from '../automod/Antijoin';  import Antijoin from '../automod/Antijoin';
25  import Automute from '../automod/Automute';  import Automute from '../automod/Automute';
26  import ServiceManager from './ServiceManager';  import ServiceManager from './ServiceManager';
27    import ChannelLockManager from '../services/ChannelLockManager';
28    
29  export default class DiscordClient extends Client {  export default class DiscordClient extends Client {
30      private _commands = new Collection<string, BaseCommand>();      private _commands = new Collection<string, BaseCommand>();
# Line 47  export default class DiscordClient exten Line 47  export default class DiscordClient exten
47      messageFilter: MessageFilter = {} as MessageFilter;      messageFilter: MessageFilter = {} as MessageFilter;
48      antiraid: AntiRaid = {} as AntiRaid;      antiraid: AntiRaid = {} as AntiRaid;
49      starboard: Starboard = {} as Starboard;      starboard: Starboard = {} as Starboard;
     cooldown: Cooldown = {} as Cooldown;  
50      startupManager: StartupManager = {} as StartupManager;      startupManager: StartupManager = {} as StartupManager;
51      autoClear: AutoClear = {} as AutoClear;      autoClear: AutoClear = {} as AutoClear;
52      randomStatus: RandomStatus = {} as RandomStatus;      randomStatus: RandomStatus = {} as RandomStatus;
# Line 56  export default class DiscordClient exten Line 55  export default class DiscordClient exten
55      welcomer: Welcomer = {} as Welcomer;      welcomer: Welcomer = {} as Welcomer;
56      antijoin: Antijoin = {} as Antijoin;      antijoin: Antijoin = {} as Antijoin;
57      automute: Automute = {} as Automute;      automute: Automute = {} as Automute;
58        channelLock: ChannelLockManager = {} as ChannelLockManager;
59    
60      aliases = {      aliases = {
61          automod: path.resolve(__dirname, '..', 'automod'),          automod: path.resolve(__dirname, '..', 'automod'),
# Line 63  export default class DiscordClient exten Line 63  export default class DiscordClient exten
63      };      };
64    
65      services = {      services = {
66            "@services/DebugLogger": "debugLogger",
67          "@automod/Logger": "logger",          "@automod/Logger": "logger",
68          "@services/SnippetManager": "snippetManager",          "@services/SnippetManager": "snippetManager",
69          "@services/AFKEngine": "afkEngine",          "@services/AFKEngine": "afkEngine",
# Line 71  export default class DiscordClient exten Line 72  export default class DiscordClient exten
72          "@automod/MessageFilter": "messageFilter",          "@automod/MessageFilter": "messageFilter",
73          "@automod/AntiRaid": "antiraid",          "@automod/AntiRaid": "antiraid",
74          "@services/Starboard": "starboard",          "@services/Starboard": "starboard",
         "@automod/Cooldown": "cooldown",  
75          "@services/StartupManager": "startupManager",          "@services/StartupManager": "startupManager",
76          "@automod/AutoClear": "autoClear",          "@automod/AutoClear": "autoClear",
77          "@services/RandomStatus": "randomStatus",          "@services/RandomStatus": "randomStatus",
         "@services/DebugLogger": "debugLogger",  
78          "@services/Verification": "verification",          "@services/Verification": "verification",
79          "@services/Welcomer": "welcomer",          "@services/Welcomer": "welcomer",
80            "@services/ChannelLockManager": "channelLock",
81          "@automod/Antijoin": "antijoin",          "@automod/Antijoin": "antijoin",
82          "@automod/Automute": "automute",          "@automod/Automute": "automute",
83      };      };
# Line 93  export default class DiscordClient exten Line 93  export default class DiscordClient exten
93              },              },
94              ...options              ...options
95          });          });
96    
97            process.on('uncaughtException', (error, origin) => {
98                console.log('Uncaught', error);
99                this.handleCrash(error, origin).then(() => process.exit(-1)).catch(err => {
100                    console.log(err);
101                    process.exit(-1);
102                });
103            });
104                    
105          console.log('init');                  console.log('init');        
106    
# Line 143  export default class DiscordClient exten Line 151  export default class DiscordClient exten
151      setMessage(msg: Message | Interaction) {      setMessage(msg: Message | Interaction) {
152          this.msg = msg;          this.msg = msg;
153      }      }
154    
155        async handleCrash(error: Error, origin: NodeJS.UncaughtExceptionOrigin) {
156            console.log('here');
157            await this.debugLogger.logToHomeServer(`Uncaught ${error.name}: ${error.message}\n${error.stack}`);
158        }
159  }  }

Legend:
Removed from v.234  
changed lines
  Added in v.268

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26