auth.gg
Version:
Bot Discord Auth.gg
80 lines (59 loc) • 2.64 kB
JavaScript
const { Structures } = require("discord.js");
const ButtonCollector = require('./ButtonCollector');
const APIMessage = require('../../v12/Classes/APIMessage').APIMessage;
const BaseMessageComponent = require('../../v12/Classes/interfaces/BaseMessageComponent');
class Message extends Structures.get("Message") {
_patch(data) {
super._patch(data);
this.components = (data.components || []).map(c => BaseMessageComponent.create(c, this.client));
return this;
}
createButtonCollector(filter, options = {}) {
return new ButtonCollector(this, filter, options);
}
awaitButtons(filter, options = {}) {
return new Promise((resolve, reject) => {
const collector = this.createButtonCollector(filter, options);
collector.once('end', (buttons, reason) => {
if (options.errors && options.errors.includes(reason)) {
reject(buttons);
} else {
resolve(buttons);
}
});
})
}
reply(content, options) {
return this.channel.send(
content instanceof APIMessage
? content
: APIMessage.transformOptions(content, options, {
reply: {
messageReference: this,
failIfNotExists: options?.failIfNotExists ?? content?.failIfNotExists ?? true,
},
}),
);
}
edit(content, options = {}) {
if (this.components.length > 0 && options !== null && options.component === undefined && options.components === undefined) {
options.components = this.components.map(c => BaseMessageComponent.create(c, this.client));
}
options = content instanceof APIMessage ? content : APIMessage.create(this, content, options);
return this.channel.messages.edit(this.id, options);
}
}
module.exports = Message;
//Developed By OldModz95#7213
// https://discord.gg/3t2568W
//====CREDIT====
// System Button created by AngeloCore
// https://www.npmjs.com/package/discord-buttons
// System Button nuggies by Nuggies-bot
//https://github.com/Nuggies-bot/nuggies-npm
//https://www.npmjs.com/package/nuggies
//============
// La base des plugins ont étais développer par leur créateur.
// J'ai apporté beaucoup de modification par apport au bot que je voulais faire.
// The basis of the plugins were developed by their creator.
// I made a lot of changes for the bot I wanted to do.