Files
discordeno/template/nodejs/Structures/Message.js
meister03 b7b2120a6f docs(site, template): add Nodejs Bot Guide (#1998)
* Inital Docs

* Finish Design

* Finish Design

* Add FILE Structure'

* Add Not Ready Template

* Update Template

* Add Command Manager and first Command ping

* Add Command Manager and first Command ping

* Add Embeds Guide & EventManager

* INITIAL FINISH: GUIDE

* FIX TYPOS, LTS's Review, sidebar_position

* Update site/docs/nodejs/getting-started.md

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>

* Fixed Position? Add some comments on template, add changes in review

* Add Interaction Handling, Modals

* format files

* Update site/docs/nodejs/getting-started.md

1

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>

* Update site/docs/nodejs/CommandHandler/command-manager.md

Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>

* Fix Review things

* itoh's suggestions

The guide looks very very veery good overall I like it. This commit adds my personal style of writing.
Please review it 🙏.

PS: I hope these are not too many changes .-.

* deno fmt

Co-authored-by: meister03 <root@_HOSTNAME_>
Co-authored-by: ITOH <to@itoh.at>
Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com>
2022-02-15 13:54:05 +00:00

51 lines
1.6 KiB
JavaScript

const DestructObject = require("./DestructObject");
const Channel = require("./Channel");
const Guild = require("./Guild");
const Member = require("./Member");
const User = require("./User");
class Message extends DestructObject {
constructor(client, message = {}) {
super(message);
this.client = client;
this.guild = new Guild(client, { id: this.guild_id || this.guildId });
this.channel = new Channel(client, { id: this.channel_id || this.channelId }, { guild: this.guild });
this.member = new Member(client, message.member, { guild: this.guild });
this.author = new User(client, {
id: this.author_id || this.authorId,
username: this.tag?.split("#")[0],
discriminator: this.tag?.split("#")[1],
bot: this.isBot,
});
}
async edit(options) {
return this.client.helpers.editMessage(this.channel.id, this.id, options);
}
async reply(options = {}) {
if (!options.messageReference) {
options.messageReference = { messageId: this.id, channelId: this.channel.id, guildId: this.guild.id };
}
return this.client.helpers.sendMessage(this.channel.id, options);
}
async delete(options = {}) {
return this.client.helpers.deleteMessage(this.channel.id, this.id, options.reason, options.delayMilliseconds);
}
async react(emoji) {
return this.client.helpers.addReaction(this.channel.id, this.id, emoji);
}
async pin() {
return this.client.helpers.pinMessage(this.channel.id, this.id);
}
async unpin() {
return this.client.helpers.unpinMessage(this.channel.id, this.id);
}
}
module.exports = Message;