mirror of
https://github.com/AsgardEternal/SquadJS.git
synced 2024-09-28 19:54:25 -05:00
63 lines
1.8 KiB
JavaScript
63 lines
1.8 KiB
JavaScript
import BasePlugin from './base-plugin.js';
|
|
|
|
export default class DiscordSubsystemRestarter extends BasePlugin {
|
|
static get description() {
|
|
return (
|
|
'The <code>DiscordSubSystemRestarter</code> plugin allows you to manually restart SquadJS subsystems in case ' +
|
|
'an issues arises with them.' +
|
|
'<ul>' +
|
|
'<li><code>!squadjs restartsubsystem rcon</code></li>' +
|
|
'<li><code>!squadjs restartsubsystem logparser</code></li>' +
|
|
'</ul>'
|
|
);
|
|
}
|
|
|
|
static get defaultEnabled() {
|
|
return false;
|
|
}
|
|
|
|
static get optionsSpecification() {
|
|
return {
|
|
discordClient: {
|
|
required: true,
|
|
description: 'Discord connector name.',
|
|
connector: 'discord',
|
|
default: 'discord'
|
|
},
|
|
role: {
|
|
required: true,
|
|
description: 'ID of role required to run the sub system restart commands.',
|
|
default: '',
|
|
example: '667741905228136459'
|
|
}
|
|
};
|
|
}
|
|
|
|
constructor(server, options, optionsRaw) {
|
|
super(server, options, optionsRaw);
|
|
|
|
this.options.discordClient.on('message', async (message) => {
|
|
// check the author of the message is not a bot
|
|
if (message.author.bot) return;
|
|
|
|
if (message.content.match(/!squadjs restartsubsystem rcon/i)) {
|
|
if (!message.member._roles.includes(this.options.role)) {
|
|
message.reply('you do not have permission to do that.');
|
|
}
|
|
|
|
await this.server.restartRCON();
|
|
message.reply('restarted the SquadJS RCON subsystem.');
|
|
}
|
|
|
|
if (message.content.match(/!squadjs restartsubsystem logparser/i)) {
|
|
if (!message.member._roles.includes(this.options.role)) {
|
|
message.reply('you do not have permission to do that.');
|
|
}
|
|
|
|
await this.server.restartLogParser();
|
|
message.reply('restarted the SquadJS LogParser subsystem.');
|
|
}
|
|
});
|
|
}
|
|
}
|