initial work to support interaction contexts

This commit is contained in:
derpystuff 2023-11-19 12:30:44 +01:00
parent 58790fd034
commit fb55cbc67d
2 changed files with 8 additions and 4 deletions

View file

@ -18,10 +18,7 @@ module.exports = class BasePaginator extends EventEmitter {
// Support application command context
if(data.context.editOrRespond) {
this.editOrRespond = data.context.editOrRespond.bind(data.context)
this.editOrReply = (d) => {
console.log(d)
return this.editOrRespond(d)
}
this.editOrReply = (d) => this.editOrRespond(d)
}
}

View file

@ -7,6 +7,13 @@ module.exports.editOrReply = function(context, message, disableReference = false
if(!message.message_reference && !disableReference) message.reference = true
// Disable mentions
if(!message.allowedMentions) message.allowedMentions = {parse: [], repliedUser: false}
// Handle responses for interaction context
if(context.editOrRespond){
return context.editOrRespond(message).catch((e)=>{
basecamp(`<:ico_w3:1086624963047460874>\`[${process.env.HOSTNAME}]\` **\` SHARD_MESSAGE_ERROR \`** \`[Shard ${context.client.shardId}]\` Command \`${context.command.name}\` failed to respond: @ \`${Date.now()}\`\nGuild: \`${context.guild.id}\`\nChannel: \`${context.channel.id}\`\nUser: \`${context.user.id}\`\`\`\`js\n${e}\`\`\``)
})
}
// Only respond if the command is still available and we have permissions to respond.
if(!context.message.deleted && context.channel.can(Permissions.SEND_MESSAGES)) return context.editOrReply(message).catch((e)=>
basecamp(`<:ico_w3:1086624963047460874>\`[${process.env.HOSTNAME}]\` **\` SHARD_MESSAGE_ERROR \`** \`[Shard ${context.client.shardId}]\` Command \`${context.message.content}\` failed to reply: @ \`${Date.now()}\`\nGuild: \`${context.guild.id}\`\nChannel: \`${context.channel.id}\`\nUser: \`${context.user.id}\`\`\`\`js\n${e}\`\`\``)