commands/grantTester: new command

This commit is contained in:
liushuyu 2023-04-28 14:35:06 +02:00
parent c61fafdca0
commit 7baa540663
2 changed files with 21 additions and 0 deletions

View File

@ -33,6 +33,7 @@
"description": "The unique ID for the role that the bot will *remove* when the user accepts the rules." "description": "The unique ID for the role that the bot will *remove* when the user accepts the rules."
}, },
"DISCORD_DEVELOPER_ROLE": true, "DISCORD_DEVELOPER_ROLE": true,
"DISCORD_TESTER_ROLE": true,
"DISCORD_LOGIN_TOKEN": { "DISCORD_LOGIN_TOKEN": {
"description": "The login token of the bot." "description": "The login token of the bot."
}, },

View File

@ -0,0 +1,20 @@
import logger from '../logging';
import * as discord from 'discord.js';
import { grantRole } from '../common';
const role = process.env.DISCORD_TESTER_ROLE;
export const roles = ['Admins', 'Moderators', 'CitraBot'];
export async function command (message: discord.Message) {
if (!role) {
logger.error('DISCORD_TESTER_ROLE suddenly became undefined?!');
return Promise.resolve([]);
}
return Promise.all(message.mentions.users.map(async (user) => {
return message.guild?.members.fetch(user).then((member) => grantRole(member, role, message.channel))
.catch(async () => {
await message.channel.send(`User ${user.toString()} was not found in the channel.`);
});
}));
}