Last active
August 31, 2024 18:08
-
-
Save Allvaa/0320f06ee793dc88e4e209d3ea9f6256 to your computer and use it in GitHub Desktop.
Discord.js v12 Inline Replies
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { APIMessage, Structures } = require("discord.js"); | |
class ExtAPIMessage extends APIMessage { | |
resolveData() { | |
if (this.data) return this; | |
super.resolveData(); | |
const allowedMentions = this.options.allowedMentions || this.target.client.options.allowedMentions || {}; | |
if (allowedMentions.repliedUser !== undefined) { | |
if (this.data.allowed_mentions === undefined) this.data.allowed_mentions = {}; | |
Object.assign(this.data.allowed_mentions, { replied_user: allowedMentions.repliedUser }); | |
} | |
if (this.options.replyTo !== undefined) { | |
Object.assign(this.data, { message_reference: { message_id: this.options.replyTo.id } }); | |
} | |
return this; | |
} | |
} | |
class Message extends Structures.get("Message") { | |
inlineReply(content, options) { | |
return this.channel.send(ExtAPIMessage.create(this, content, options, { replyTo: this }).resolveData()); | |
} | |
edit(content, options) { | |
return super.edit(ExtAPIMessage.create(this, content, options).resolveData()); | |
} | |
} | |
Structures.extend("Message", () => Message); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { Client } = require("discord.js"); | |
require("./ExtendedMessage"); | |
const client = new Client({ | |
allowedMentions: { | |
// set repliedUser value to `false` to turn off the mention by default | |
repliedUser: true | |
} | |
}); | |
client.on("message", msg => { | |
if (msg.author.bot) return; | |
if (msg.content === "hi") { | |
msg.inlineReply("hello"); | |
} | |
}); | |
client.login("ur token"); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug: when replying to a reply the bot displays a SERVER tag next to the user, how can I fix that?