mirror of
https://github.com/xHyroM/bun-discord-bot.git
synced 2024-11-22 14:41:05 +01:00
fix: tag typings
This commit is contained in:
parent
c310a8ca42
commit
a86d702006
2 changed files with 6 additions and 6 deletions
|
@ -1,6 +1,6 @@
|
||||||
import { APIApplicationCommandInteractionDataStringOption, ApplicationCommandOptionType, InteractionResponseType, MessageFlags } from 'discord-api-types/v10';
|
import { APIApplicationCommandInteractionDataStringOption, ApplicationCommandOptionType, InteractionResponseType, MessageFlags } from 'discord-api-types/v10';
|
||||||
import { Command } from '../structures/Command';
|
import { Command } from '../structures/Command';
|
||||||
import { findTags, getTag } from '../utils/tagsUtils';
|
import { findTags, getTag, Tag } from '../utils/tagsUtils';
|
||||||
|
|
||||||
new Command({
|
new Command({
|
||||||
name: 'tags',
|
name: 'tags',
|
||||||
|
@ -26,7 +26,7 @@ new Command({
|
||||||
const query: APIApplicationCommandInteractionDataStringOption = ctx.options[0] as APIApplicationCommandInteractionDataStringOption;
|
const query: APIApplicationCommandInteractionDataStringOption = ctx.options[0] as APIApplicationCommandInteractionDataStringOption;
|
||||||
const target = ctx?.resolved?.users ? Object.values(ctx?.resolved?.users)[0] : null;
|
const target = ctx?.resolved?.users ? Object.values(ctx?.resolved?.users)[0] : null;
|
||||||
|
|
||||||
const tag = getTag(query.value);
|
const tag = getTag(query.value, false);
|
||||||
if (!tag)
|
if (!tag)
|
||||||
return ctx.respond({
|
return ctx.respond({
|
||||||
type: InteractionResponseType.ChannelMessageWithSource,
|
type: InteractionResponseType.ChannelMessageWithSource,
|
||||||
|
|
|
@ -13,13 +13,13 @@ for (const [key, value] of Object.entries(tags)) {
|
||||||
tagCache.set(key, value as unknown as Tag);
|
tagCache.set(key, value as unknown as Tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getTag = (name: string, more?: boolean) => {
|
export const getTag = <T extends boolean>(name: string, more?: T): T extends true ? Tag[] : Tag => {
|
||||||
if (more) {
|
if (more) {
|
||||||
const tags = [...tagCache.filter(tag => tag.keywords.some(k => k.includes(name))).values()];
|
const tags = [...tagCache.filter(tag => tag.keywords.some(k => k.includes(name))).values()];
|
||||||
return tags;
|
return tags as T extends true ? Tag[] : Tag;
|
||||||
} else {
|
} else {
|
||||||
const tag = tagCache.get(name) || tagCache.find(tag => tag.keywords.some(k => k.includes(name)));
|
const tag = tagCache.get(name) || tagCache.find(tag => tag.keywords.some(k => k.includes(name)));
|
||||||
return tag;
|
return tag as T extends true ? Tag[] : Tag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ export const findTags = (name: string) => {
|
||||||
})).slice(0, 25)
|
})).slice(0, 25)
|
||||||
];
|
];
|
||||||
else {
|
else {
|
||||||
const tags: Tag[] = getTag(name, true) as Tag[];
|
const tags = getTag(name, true);
|
||||||
if (tags.length > 0)
|
if (tags.length > 0)
|
||||||
return tags.map(tag => new Object({
|
return tags.map(tag => new Object({
|
||||||
name: tag.keywords[0],
|
name: tag.keywords[0],
|
||||||
|
|
Loading…
Reference in a new issue