aboutsummaryrefslogtreecommitdiff
path: root/src/arguments/discordEmoji.ts
blob: 3edf123ebf98ef48bb553cb94968175f6898a318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import type { BushArgumentTypeCaster } from '#lib';
import type { Snowflake } from 'discord-api-types/v10';

export const discordEmoji: BushArgumentTypeCaster<DiscordEmojiInfo | null> = (_, phrase) => {
	if (!phrase) return null;
	const validEmoji: RegExpExecArray | null = client.consts.regex.discordEmoji.exec(phrase);
	if (!validEmoji || !validEmoji.groups) return null;
	return { name: validEmoji.groups.name, id: validEmoji.groups.id };
};

export interface DiscordEmojiInfo {
	name: string;
	id: Snowflake;
}