Files
discordeno/template/nodejs/Structures/CommandResponse.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

58 lines
1.5 KiB
JavaScript

const Message = require("./Message");
class Responses {
constructor(data) {
this.manager = data.manager;
this.args = this._validateArguments(data.args);
this.replied = false;
}
async reply(content) {
// When just a string is passed, we assume it's the content -> transform to correct formatted payload
if (typeof content === "string") content = { content };
if (this.interaction) {
if (this.replied) return this.followUp(content);
const reply = await this.interaction.reply(content);
//Assign properties to the response
const response = new Message(this.client, reply);
this.replied = true;
return response;
}
if (this.message) {
if (this.replied) return this.followUp(content);
const msg = await this.message.channel.send(content);
//Assign properties to the response
const response = new Message(this.client, msg);
this.replied = true;
return response;
}
}
async followUp(content) {
if (this.interaction) {
const reply = await this.interaction.followUp(content);
const response = new Message(this.client, reply);
return response;
}
if (this.message) {
const msg = await this.message.channel.send(content);
const response = new Message(this.client, msg);
return response;
}
}
onError(error) {
return this.reply({ content: `A unknown Error happend: \n> ${error}` });
}
_validateArguments(args) {
this.args = args;
return args;
}
}
module.exports = Responses;