25 |
import Antijoin from '../automod/Antijoin'; |
import Antijoin from '../automod/Antijoin'; |
26 |
import Automute from '../automod/Automute'; |
import Automute from '../automod/Automute'; |
27 |
import ServiceManager from './ServiceManager'; |
import ServiceManager from './ServiceManager'; |
28 |
|
import ChannelLockManager from '../services/ChannelLockManager'; |
29 |
|
|
30 |
export default class DiscordClient extends Client { |
export default class DiscordClient extends Client { |
31 |
private _commands = new Collection<string, BaseCommand>(); |
private _commands = new Collection<string, BaseCommand>(); |
57 |
welcomer: Welcomer = {} as Welcomer; |
welcomer: Welcomer = {} as Welcomer; |
58 |
antijoin: Antijoin = {} as Antijoin; |
antijoin: Antijoin = {} as Antijoin; |
59 |
automute: Automute = {} as Automute; |
automute: Automute = {} as Automute; |
60 |
|
channelLock: ChannelLockManager = {} as ChannelLockManager; |
61 |
|
|
62 |
aliases = { |
aliases = { |
63 |
automod: path.resolve(__dirname, '..', 'automod'), |
automod: path.resolve(__dirname, '..', 'automod'), |
65 |
}; |
}; |
66 |
|
|
67 |
services = { |
services = { |
68 |
|
"@services/DebugLogger": "debugLogger", |
69 |
"@automod/Logger": "logger", |
"@automod/Logger": "logger", |
70 |
"@services/SnippetManager": "snippetManager", |
"@services/SnippetManager": "snippetManager", |
71 |
"@services/AFKEngine": "afkEngine", |
"@services/AFKEngine": "afkEngine", |
78 |
"@services/StartupManager": "startupManager", |
"@services/StartupManager": "startupManager", |
79 |
"@automod/AutoClear": "autoClear", |
"@automod/AutoClear": "autoClear", |
80 |
"@services/RandomStatus": "randomStatus", |
"@services/RandomStatus": "randomStatus", |
|
"@services/DebugLogger": "debugLogger", |
|
81 |
"@services/Verification": "verification", |
"@services/Verification": "verification", |
82 |
"@services/Welcomer": "welcomer", |
"@services/Welcomer": "welcomer", |
83 |
|
"@services/ChannelLockManager": "channelLock", |
84 |
"@automod/Antijoin": "antijoin", |
"@automod/Antijoin": "antijoin", |
85 |
"@automod/Automute": "automute", |
"@automod/Automute": "automute", |
86 |
}; |
}; |
96 |
}, |
}, |
97 |
...options |
...options |
98 |
}); |
}); |
99 |
|
|
100 |
|
process.on('uncaughtException', (error, origin) => { |
101 |
|
console.log('Uncaught', error); |
102 |
|
this.handleCrash(error, origin).then(() => process.exit(-1)).catch(err => { |
103 |
|
console.log(err); |
104 |
|
process.exit(-1); |
105 |
|
}); |
106 |
|
}); |
107 |
|
|
108 |
console.log('init'); |
console.log('init'); |
109 |
|
|
154 |
setMessage(msg: Message | Interaction) { |
setMessage(msg: Message | Interaction) { |
155 |
this.msg = msg; |
this.msg = msg; |
156 |
} |
} |
157 |
|
|
158 |
|
async handleCrash(error: Error, origin: NodeJS.UncaughtExceptionOrigin) { |
159 |
|
console.log('here'); |
160 |
|
await this.debugLogger.logToHomeServer(`Uncaught ${error.name}: ${error.message}\n${error.stack}`); |
161 |
|
} |
162 |
} |
} |