一键导入
new-context-menu
Scaffold a right-click context-menu command (on a user or message) in app/context. Use when asked to add a context-menu or right-click command.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scaffold a right-click context-menu command (on a user or message) in app/context. Use when asked to add a context-menu or right-click command.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Scaffold a new slash command in app/commands. Use when asked to add or create a slash command, a subcommand, or an autocomplete option.
Scaffold a persistent button, modal, or select-menu handler in app/components. Use when asked to handle a component interaction by customId.
Scaffold a gateway event handler in app/events. Use when asked to react to a Discord event like GuildMemberAdd, MessageCreate, or Ready.
Scaffold a new text (prefix) command in app/prefixes, e.g. ".ping". Use when asked to add a message-based or prefix command.
Scaffold an HTTP API route in app/routes on the Elysia server. Use when asked to add an HTTP endpoint, REST route, or webhook receiver.
Scaffold a scheduled task (cron or interval) in app/tasks. Use when asked to run something periodically, on a timer, or on a schedule.
| name | new-context-menu |
| description | Scaffold a right-click context-menu command (on a user or message) in app/context. Use when asked to add a context-menu or right-click command. |
.agents/context.md (Context-menu commands section) if not already loaded.app/context/<name>.ts.BaseContextMenu, decorated with @ContextMenu, with a ContextMenuCommandBuilder on data.import { ApplicationCommandType, ContextMenuCommandBuilder } from "discord.js";
import { ContextMenu, BaseContextMenu, ContextMenuContext } from "engine";
@ContextMenu({ guilds: ["*"] })
export default class Avatar extends BaseContextMenu {
data = new ContextMenuCommandBuilder().setName("Avatar").setType(ApplicationCommandType.User);
async execute(context: ContextMenuContext) {
if (!context.interaction.isUserContextMenuCommand()) return;
await context.interaction.reply(context.interaction.targetUser.displayAvatarURL());
}
}
.setType(ApplicationCommandType.User | Message) picks the target kind; narrow inside execute with isUserContextMenuCommand() / isMessageContextMenuCommand().@ContextMenu accepts the same options as @Command: cooldown, cooldown_scope, guilds, guards.Run bun run typecheck and bun run lint. Remind the user to run bun run deploy; context menus register alongside slash commands.