Add basic message command

This commit is contained in:
Skylar Grant 2023-05-16 14:06:51 -04:00
parent f3573eeaed
commit 41b59f8b92
1 changed files with 39 additions and 0 deletions

39
dot-commands/message.js Normal file
View File

@ -0,0 +1,39 @@
const fn = require('../modules/functions.js');
module.exports = {
name: "message",
description: "Send a message to a server owner or server",
usage: ".message <serverID> <content>",
async execute(message, commandData) {
if (message.client.guildInfos.has(commandData.args[0])) {
let guildInfo = message.client.guildInfos.get(commandData.args[0]);
const guild = await message.client.guilds.fetch(commandData.args[0]).catch(async e => {
await message.reply("I was unable to fetch the guild.");
console.error(`Error fetching guild to send message: ${e}`);
});
const guildOwner = await message.client.users.fetch(guild.ownerId).catch(async e => {
await message.reply("I was unable to fetch the guild owner.");
console.error(`Error fetching guild owner to send message: ${e}`);
});
await guildOwner.createDM().then(async dm => {
await dm.send(commandData.args.join(" ")).catch(async e => {
await message.reply("I was unable to send the DM.");
console.error(`Error sending DM message: ${e}`);
});
}).catch(async e => {
await message.reply("I was unable to create the DM.");
console.error(`Error creating DM to send message: ${e}`);
const channel = await guild.channels.fetch(guildInfo.reminderChannelId).catch(async e => {
await message.reply("I was unable to fetch the channel.");
console.error(`Error fetching channel to send message: ${e}`);
});
await channel.send(commandData.args.join(" ")).catch(async e => {
await message.reply("I was unable to send the message.");
console.error(`Error sending message: ${e}`);
});
});
} else {
throw "Guild doesn't exist in database!";
}
}
}