Message Utils
SelfMadeSystem opened this issue · 0 comments
SelfMadeSystem commented
Message utils
Message utils is a collection of functions and classes that help you to create and send messages.
MessageBuilder
MessageBuilder is a class that helps you build messages.
It has a fluent interface and can be used to create easily complex messages.
It is used by MessageSender.
MessageSender
MessageSender is a class that helps you to send messages.
What these should roughly look like:
interface MessageBuilder {
setContent(content: string): MessageBuilder;
setTTS(tts: boolean): MessageBuilder;
setAllowMentions(allowMentions: boolean): MessageBuilder;
addEmbed(embed: MessageEmbed): MessageBuilder;
addAttachment(attachment: MessageAttachment): MessageBuilder;
addAction(action: MessageActionRow): MessageBuilder;
setEphemeral(ephemeral: boolean): MessageBuilder; // Use only from MessageSender.replyEphemeral
}
interface MessageSender {
send(channel: TextBasedChannel, message: MessageBuilder): Promise<Message>;
reply(replyTo: Snowflake | MessageInteraction, message: MessageBuilder): Promise<Message>;
replyEphemeral(interaction: MessageInteraction, message: MessageBuilder): Promise<Message>;
}