Контекстные меню
Команды пользователя и команды сообщений теперь доступны! Эти команды появляются в контекстных меню для пользователей и сообщений, а в будущем появятся и другие.
Контекстное меню пользователя
Команды пользователя - это команды приложения, которые появляются в контекстном меню пользователей (правый клик или нажатие). Это отличный способ создать для вашего приложения быстрые действия, ориентированные на пользователей.
import { Injectable } from '@nestjs/common';
import { Context, UserCommand, UserCommandContext, TargetUser } from 'necord';
import { User } from 'discord.js';
@Injectable()
export class AppCommands {
@UserCommand({ name: 'Get avatar' })
public async getUserAvatar(
@Context() [interaction]: UserCommandContext,
@TargetUser() user: User
) {
return interaction.reply({
embeds: [
new MessageEmbed()
.setTitle(`Avatar ${user.username}`)
.setImage(user.displayAvatarURL({ size: 4096, dynamic: true }))
]
});
}
}
Если все пройдет успешно, вы должны увидеть что-то вроде этого:
Контекстное меню сообщений
Команды сообщений - это команды приложения, которые появляются в контекстном меню сообщений (правый клик или нажатие). Это отличный способ создать быстрые действия для вашего приложения, направленные на сообщения.
import { Injectable } from '@nestjs/common';
import { Context, MessageCommand, MessageCommandContext, TargetMessage } from 'necord';
import { Message } from 'discord.js';
@Injectable()
export class AppCommands {
@MessageCommand({ name: 'Copy Message' })
public async copyMessage(
@Context() [interaction]: MessageCommandContext,
@TargetMessage() message: Message
) {
return interaction.reply({ content: message.content });
}
}
Если все пройдет успешно, вы должны увидеть что-то вроде этого:
Рабочий пример можно посмотреть здесь.