SelfMadeSystem/MyDiscordBot

Message Utils

SelfMadeSystem opened this issue · 0 comments

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>;
}