mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-13 00:09:08 +02:00
memberMsg
This commit is contained in:
@@ -6,16 +6,16 @@ module.exports = class ClearSettingCommand extends Command {
|
||||
name: 'clear-setting',
|
||||
group: 'util',
|
||||
memberName: 'clear-setting',
|
||||
description: 'Removes a custom-set Mod Channel, Member Channel, Staff Role, or Single Role.',
|
||||
description: 'Removes a custom-set Mod Channel, Member Channel, Member Message, Staff Role, or Single Role.',
|
||||
guildOnly: true,
|
||||
args: [
|
||||
{
|
||||
key: 'setting',
|
||||
prompt: 'What setting do you want to clear? `modLog`, `memberLog`, `staffRole`, or `singleRole`?',
|
||||
prompt: 'What setting do you want to clear? `modLog`, `memberLog`, `joinMsg`, `leaveMsg`, `staffRole`, or `singleRole`?',
|
||||
type: 'string',
|
||||
validate: setting => {
|
||||
if(['modLog', 'memberLog', 'staffRole', 'singleRole'].includes(setting)) return true;
|
||||
return 'Please enter either `modLog`, `memberLog`, `staffRole`, or `singleRole`.';
|
||||
if(['modLog', 'memberLog', 'joinMsg', 'leaveMsg', 'staffRole', 'singleRole'].includes(setting)) return true;
|
||||
return 'Please enter either `modLog`, `memberLog`, `joinMsg`, `leaveMsg`, `staffRole`, or `singleRole`.';
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
const { Command } = require('discord.js-commando');
|
||||
|
||||
module.exports = class MemberMsgCommand extends Command {
|
||||
constructor(client) {
|
||||
super(client, {
|
||||
name: 'member-message',
|
||||
aliases: [
|
||||
'member-msg'
|
||||
],
|
||||
group: 'util',
|
||||
memberName: 'member-message',
|
||||
description: 'Sets the message for either join/leave logs to use.',
|
||||
details: '**Placeholders:** <user>: Username, <server>: Server Name, <mention>: A Mention of the User',
|
||||
guildOnly: true,
|
||||
args: [
|
||||
{
|
||||
key: 'type',
|
||||
prompt: 'Which message would you like to change? Please enter either `joinMsg` or `leaveMsg`.',
|
||||
type: 'string',
|
||||
validate: type => {
|
||||
if(['joinMsg', 'leaveMsg'].includes(type)) return true;
|
||||
return 'Please enter either `joinMsg` or `leaveMsg`.';
|
||||
}
|
||||
},
|
||||
{
|
||||
key: 'message',
|
||||
prompt: 'What should be sent to the channel? Use <user>, <server>, and <mention> as placeholders.',
|
||||
type: 'string',
|
||||
validate: message => {
|
||||
if(message.length < 1000) return true;
|
||||
return 'Invalid Message. Message must be under 1000 characters.';
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
hasPermission(msg) {
|
||||
return msg.member.hasPermission('ADMINISTRATOR');
|
||||
}
|
||||
|
||||
run(msg, args) {
|
||||
const { type, message } = args;
|
||||
if(type === 'joinMsg') {
|
||||
msg.guild.settings.set('joinMsg', message);
|
||||
return msg.say(`Join Message set to "${message}".`);
|
||||
} else if(type === 'leaveMsg') {
|
||||
msg.guild.settings.set('leaveMsg', message);
|
||||
return msg.say(`Leave Message set to "${message}".`);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user