Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import { Content } from "@/types";
import { messageOptions } from "@/utils/Tools";
import {
EmojiResolvable,
Message,
MessageEditOptions,
MessageReaction,
PartialUser,
StartThreadOptions,
TextBasedChannel,
TextChannel,
ThreadChannel,
User,
} from "discord.js";
export class MessageTools {
public static async send(target: User | PartialUser | TextBasedChannel, content: Content): Promise<Message> {
const msgOptions = messageOptions(content);
return await target.send(msgOptions);
}
public static async reply(message: Message, content: Content): Promise<Message> {
const msgOptions = messageOptions(content);
return await message.reply(msgOptions);
}
public static async edit(message: Message, content: Content): Promise<Message> {
const msgOptions = messageOptions(content) as MessageEditOptions;
return await message.edit(msgOptions);
}
public static async react(message: Message, emoji: EmojiResolvable): Promise<MessageReaction> {
return await message.react(emoji);
}
public static async pin(message: Message): Promise<Message> {
return await message.pin();
}
public static async unpin(message: Message): Promise<Message> {
return await message.unpin();
}
public static async startThread(message: Message, options: StartThreadOptions): Promise<ThreadChannel> {
return await message.startThread(options);
}
public static async delete(message: Message): Promise<Message> {
return await message.delete();
}
public static async get(channel: TextChannel, id: string): Promise<Message> {
return channel.messages.cache.get(id);
}
}
|