New easy respond command
This commit is contained in:
parent
ecbeaa5cec
commit
6e53375921
47
src/index.js
47
src/index.js
@ -312,11 +312,8 @@ addCommand(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
const getMacro = async (guild, name) => {
|
const openResponses = (interaction, ephemeral) => async content =>
|
||||||
|
interaction.reply({ content, ephemeral })
|
||||||
|
|
||||||
return guild && guild[name]
|
|
||||||
}
|
|
||||||
|
|
||||||
addSubcommands({
|
addSubcommands({
|
||||||
name: 'macro',
|
name: 'macro',
|
||||||
@ -364,26 +361,20 @@ addSubcommands({
|
|||||||
}, {
|
}, {
|
||||||
add: async interaction => {
|
add: async interaction => {
|
||||||
let name = interaction.options.get('name').value.toLowerCase()
|
let name = interaction.options.get('name').value.toLowerCase()
|
||||||
|
let respond = openResponses(interaction, true)
|
||||||
if(!constants.macroNameRegex.test(name) ) {
|
|
||||||
interaction.reply("Please provide a macro name that consists of only alphanumeric characters.")
|
if(!constants.macroNameRegex.test(name))
|
||||||
return
|
return respond("Please provide a macro name that consists of only alphanumeric characters.")
|
||||||
}
|
|
||||||
|
|
||||||
if(commands.has(name)) {
|
if(commands.has(name))
|
||||||
interaction.reply("Uhh,, I think that macro name is already taken by my own commands, sorry.")
|
return respond("Uhh,, I think that macro name is already taken by my own commands, sorry.")
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// let dice = parseRoll(interaction.options.get('dice').value)
|
|
||||||
let dice = interaction.options.get('dice').value
|
let dice = interaction.options.get('dice').value
|
||||||
|
|
||||||
if(!constants.rollRegex.test(dice) ) {
|
if(!constants.rollRegex.test(dice) )
|
||||||
interaction.reply("Please provide a valid roll expression.")
|
return respond("Please provide a valid roll expression.")
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
await interaction.deferReply()
|
await interaction.deferReply({ ephemeral: true })
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
openMacros(interaction.guild.id).put(name, dice),
|
openMacros(interaction.guild.id).put(name, dice),
|
||||||
@ -394,25 +385,21 @@ addSubcommands({
|
|||||||
remove: async interaction => {
|
remove: async interaction => {
|
||||||
let name = interaction.options.get('name').value.toLowerCase()
|
let name = interaction.options.get('name').value.toLowerCase()
|
||||||
let macros = macroCache.get(interaction.guild.id)
|
let macros = macroCache.get(interaction.guild.id)
|
||||||
|
let respond = openResponses(interaction, true)
|
||||||
|
|
||||||
if(!macros) {
|
if(!macros)
|
||||||
await interaction.reply('There aren\'t even any macros in this guild!')
|
return respond('There aren\'t even any macros in this guild!')
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let dice = macros && macroCache.get(interaction.guild.id)[name]
|
let dice = macros && macroCache.get(interaction.guild.id)[name]
|
||||||
|
|
||||||
if(!dice){
|
if(!dice)
|
||||||
await interaction.reply("There isn't a macro with that name .-.")
|
return respond("There isn't a macro with that name .-.")
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
await interaction.deferReply()
|
await interaction.deferReply({ ephemeral: true })
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
openMacros(interaction.guild.id).del(name),
|
openMacros(interaction.guild.id).del(name),
|
||||||
reloadMacros(interaction.guild.id)
|
reloadMacros(interaction.guild.id)
|
||||||
])
|
])
|
||||||
.catch(handleError(interaction))
|
|
||||||
|
|
||||||
await interaction.followUp(`Removed \`${name}\`, its dice expression was: \`\`\`${dice}\`\`\``)
|
await interaction.followUp(`Removed \`${name}\`, its dice expression was: \`\`\`${dice}\`\`\``)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user