feat: add tag mentions and deletions
This commit is contained in:
parent
6673a8a36c
commit
ff5882730d
3 changed files with 38 additions and 2 deletions
|
@ -27,6 +27,12 @@ export const reuploadCommands = async () => {
|
|||
.setDescription('The tag name')
|
||||
.setRequired(true)
|
||||
.addChoices(...tags.map((b) => ({ name: b.name, value: b.name })))
|
||||
)
|
||||
.addUserOption((option) =>
|
||||
option
|
||||
.setName('user')
|
||||
.setDescription('The user to mention')
|
||||
.setRequired(false)
|
||||
),
|
||||
new SlashCommandBuilder()
|
||||
.setName('modrinth')
|
||||
|
|
|
@ -10,6 +10,8 @@ export const tagsCommand = async (
|
|||
) => {
|
||||
const tags = await getTags();
|
||||
const tagName = i.options.getString('name', true);
|
||||
const mention = i.options.getUser('user', false);
|
||||
|
||||
const tag = tags.find(
|
||||
(tag) => tag.name === tagName || tag.aliases?.includes(tagName)
|
||||
);
|
||||
|
@ -23,7 +25,9 @@ export const tagsCommand = async (
|
|||
}
|
||||
|
||||
await i.reply({
|
||||
content: tag.text ? `**${tag.name}**\n\n` + tag.text : tag.text,
|
||||
content:
|
||||
(mention ? `<@${mention.id}> ` : '') +
|
||||
(tag.text ? `**${tag.name}**\n\n` + tag.text : ''),
|
||||
embeds: tag.embed
|
||||
? [
|
||||
new EmbedBuilder(tag.embed).setFooter({
|
||||
|
|
28
src/index.ts
28
src/index.ts
|
@ -1,4 +1,10 @@
|
|||
import { Client, GatewayIntentBits, Partials, OAuth2Scopes } from 'discord.js';
|
||||
import {
|
||||
Client,
|
||||
GatewayIntentBits,
|
||||
Partials,
|
||||
OAuth2Scopes,
|
||||
InteractionType,
|
||||
} from 'discord.js';
|
||||
import { reuploadCommands } from './_reupload';
|
||||
|
||||
import * as BuildConfig from './constants';
|
||||
|
@ -125,6 +131,26 @@ client.on('interactionCreate', async (interaction) => {
|
|||
}
|
||||
});
|
||||
|
||||
client.on('messageReactionAdd', async (reaction, user) => {
|
||||
if (reaction.partial) {
|
||||
try {
|
||||
await reaction.fetch();
|
||||
} catch (error) {
|
||||
console.error('Something went wrong when fetching the message:', error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
reaction.message.interaction &&
|
||||
reaction.message.interaction?.type === InteractionType.ApplicationCommand &&
|
||||
reaction.message.interaction?.user === user &&
|
||||
reaction.emoji.name === '❌'
|
||||
) {
|
||||
await reaction.message.delete();
|
||||
}
|
||||
});
|
||||
|
||||
reuploadCommands()
|
||||
.then(() => {
|
||||
client.login(process.env.DISCORD_TOKEN);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue