1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-18 04:40:59 -05:00
This commit is contained in:
Toast 2024-03-04 02:30:10 +00:00 committed by GitHub
commit 8219627582
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 11 additions and 12 deletions

View File

@ -9,7 +9,7 @@ import util from 'node:util';
import fs from 'node:fs';
export default class Developer {
static run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>) {
if (!client.config.whitelist.includes(interaction.user.id)) return MessageTool.youNeedRole(interaction, 'bottech');
if (!client.config.whitelist.includes(interaction.member.id)) return MessageTool.isWhitelisted(interaction);
({
eval: async()=>{
fs;

View File

@ -118,7 +118,7 @@ export default class MP {
},
maintenance: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmod');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmod');
}
const reason = interaction.options.getString('reason');
@ -133,7 +133,7 @@ export default class MP {
},
start: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmod');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmod');
}
const map_names = interaction.options.getString('map_names', true).split('|');
if (map_names.length > 10) return interaction.reply('You can only have up to 10 maps in a poll!');
@ -150,7 +150,7 @@ export default class MP {
},
end: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmod');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmod');
}
const msg_id = interaction.options.getString('message_id', true);
const stripUrl = msg_id.replace(/https:\/\/discord.com\/channels\/\d+\/\d+\/(\d+)/, '$1');
@ -172,14 +172,14 @@ export default class MP {
},
maps: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmod');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmod) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmod');
}
const suggestionPool = await (interaction.guild.channels.cache.get(client.config.dcServer.channels.mpmod_chat) as Discord.TextChannel).messages.fetch(MAP_POOL_HOOKMSG);
interaction.reply({embeds: [suggestionPool.embeds[0]]});
}, // Server management group
create_server: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmanager');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmanager');
}
const dedicatedServerStatsURL = interaction.options.getString('dss-url');
if (!dedicatedServerStatsURL) {
@ -201,7 +201,7 @@ export default class MP {
},
remove_server: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmanager');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmanager');
}
try {
Logger.console('log', logPrefix, `Removing "${choiceSelector}" from database`)
@ -214,7 +214,7 @@ export default class MP {
},
visibility_toggle: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'mpmanager');
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.mpmanager) && !client.config.whitelist.includes(interaction.member.id)) return MessageTool.youNeedRole(interaction, 'mpmanager');
}
const toggleFlag = interaction.options.getBoolean('is_active');
Logger.console('log', logPrefix, `Toggling isActive flag for "${choiceSelector}" to ${toggleFlag}`);

View File

@ -14,7 +14,7 @@ export default class Suggest {
},
delete: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'bottech');
if (!client.config.whitelist.includes(interaction.member.id)) return MessageTool.isWhitelisted(interaction);
}
const sugg = await this.deleteSuggestion(client, idVal);
if (sugg) return interaction.reply(`Suggestion \`#${idVal}\` has been deleted.`);
@ -22,7 +22,7 @@ export default class Suggest {
},
update: async()=>{
if (client.config.dcServer.id === interaction.guildId) {
if (!interaction.member.roles.cache.has(client.config.dcServer.roles.bottech)) return MessageTool.youNeedRole(interaction, 'bottech');
if (!client.config.whitelist.includes(interaction.member.id)) return MessageTool.isWhitelisted(interaction);
}
const status = interaction.options.getString('status', true);
await this.updateSuggestion(client, idVal, status as 'Accepted'|'Rejected');

View File

@ -60,7 +60,6 @@
],
"roles": {
"admin": "468842789053136897",
"bottech": "1011341005389307925",
"dcmod": "468841295150972929",
"mpmanager": "1028735939813585029",
"mpmod": "572151330710487041",

View File

@ -14,4 +14,5 @@ export default class MessageTool {
public static isStaff =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
public static youNeedRole =(interaction:Discord.CommandInteraction, role:keyof typeof config.dcServer.roles)=>interaction.reply(`You do not have ${this.formatMention(config.dcServer.roles[role], 'role')} role to use this command.`);
public static isModerator =(guildMember:Discord.GuildMember)=>config.dcServer.staffRoles.filter((x:string)=>/^admin|^dcmod/.test(x)).map((x:string)=>config.dcServer.roles[x]).some((x:string)=>guildMember.roles.cache.has(x));
public static isWhitelisted =(interaction:Discord.CommandInteraction)=>interaction.reply('You are not on whitelist!')
}

1
src/interfaces.d.ts vendored
View File

@ -136,7 +136,6 @@ export interface Config {
staffRoles: string[],
roles: {
admin: string,
bottech: string,
dcmod: string,
mpmanager: string,
mpmod: string,