All files / src/modules/bot/commands Message.ts

0% Statements 0/12
100% Branches 0/0
0% Functions 0/9
0% Lines 0/12

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