nodbot/dot-commands/spongebob.js
Skylar Grant 0106983a5f
Some checks failed
NodBot Production Dockerization / build (pull_request) Has been cancelled
Fixed how replies work with .sb
2024-06-14 21:38:36 -04:00

43 lines
1.9 KiB
JavaScript

const fn = require('../functions.js');
const config = require('../config.json');
module.exports = {
name: 'spongebob',
alias: 'sb',
description: 'SpOnGeBoB-iFy AnYtHiNg AuToMaTiCaLly',
usage: '<text to convert>.spongebob',
execute(message, commandData) {
// message.reply(fn.spongebob(commandData)).then(() => {
// message.delete();
// });
if (message.reference != undefined) { // message.reference is undefined if the message isn't a reply to another message
if (commandData.args !== "") { // If the replying message isn't just .sb
const repliedMessageId = message.reference.messageId; // grab the message Id of the replied-to msg
message.channel.messages.fetch(repliedMessageId) // Fetch the message because with our luck it isn't in the cache
.then(repliedMessage => {
repliedMessage.reply(fn.spongebob({ args: commandData.args })).then(() => { // Use the pre-command text of the replying message to sb-ify
if (message.deletable) message.delete(); // If the initiating message is deletable, delete it.
});
})
.catch(err => {
console.error(err);
});
} else { // We're working with a basic ".sb" and can proceed as we did before...
const repliedMessageId = message.reference.messageId; // grab the message Id of the replied-to msg
message.channel.messages.fetch(repliedMessageId) // Fetch the message because with our luck it isn't in the cache
.then(repliedMessage => {
repliedMessage.reply(fn.spongebob({ args: repliedMessage.content })).then(() => {
if (message.deletable) message.delete();
});
})
.catch(err => {
console.error(err);
});
}
} else { // The message isn't a reply, so just sb it like we did from the very beginning
message.channel.send(fn.spongebob(commandData)).then(() => {
if (message.deletable) message.delete(); // If the initiating message is deletable, delete it.
});
}
}
}