All files / src/modules/bot/reactionRoles/commands/CreateReaction CreateReaction.dto.ts

0% Statements 0/5
100% Branches 0/0
100% Functions 0/0
0% Lines 0/5

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                                                                                                       
import { localizationMapByKey } from "@necord/localization";
import { ChannelType, GuildTextBasedChannel, Role } from "discord.js";
import { ChannelOption, NumberOption, RoleOption, StringOption } from "necord";
 
export class CreateReactionDTO {
	@ChannelOption({
		name: "channel",
		description: "Channel where the ReactionRole will be created",
		name_localizations: localizationMapByKey("ReactionRoles.create.options.channel.name"),
		description_localizations: localizationMapByKey("ReactionRoles.create.options.channel.description"),
		channel_types: [ChannelType.GuildText],
		required: true,
	})
	public readonly channel: GuildTextBasedChannel;
 
	@StringOption({
		name: "message",
		description: "Message ID that the member will react",
		name_localizations: localizationMapByKey("ReactionRoles.create.options.message.name"),
		description_localizations: localizationMapByKey("ReactionRoles.create.options.message.description"),
		required: true,
	})
	public readonly messageId: string;
 
	@RoleOption({
		name: "role",
		description: "Role to be used in ReactionRole",
		name_localizations: localizationMapByKey("ReactionRoles.create.options.role.name"),
		description_localizations: localizationMapByKey("ReactionRoles.create.options.role.description"),
		required: true,
	})
	public readonly role: Role;
 
	@StringOption({
		name: "emoji",
		description: "Emoji that the user will react",
		name_localizations: localizationMapByKey("ReactionRoles.create.options.emoji.name"),
		description_localizations: localizationMapByKey("ReactionRoles.create.options.emoji.description"),
		required: true,
	})
	public readonly emoji: string;
 
	@NumberOption({
		name: "type",
		description: "Type of ReactionRole (1-6) (/reaction_role types)",
		name_localizations: localizationMapByKey("ReactionRoles.create.options.type.name"),
		description_localizations: localizationMapByKey("ReactionRoles.create.options.type.description"),
		required: false,
	})
	public readonly option: number;
}