Context Menus
Context menus are a new, cool way to for users to interact with your bot. Context menus can be accessed by right clicking or tapping on messages/users. They're a great way to surface quick actions for your bot that target messages/users.
Don't forget to add the onInteraction
event to your main file. For example:
bot.addEvent([
"onMessage",
"onInteraction"
])
Creating Application Command Data
To create a context menu application, you can use the createApplicationCommandData
method in bot class:
Template:
bot.createApplicationCommandData({
type: "type",
name: "name"
})
There can be 5 guild and 5 global context menu commands per bot.
Example:
bot.createApplicationCommandData({
type: "USER",
name: "Punch"
})
Creating a Context Menu
Deploy this context menu to a guild (or globally).
Template:
bot.commands.add({
name: "deploy",
type: "basicCommand",
code: `$if[$botOwnerID!==$authorID;
You can't use this command!
;
$createContextMenuApplication[guildID/global;contextMenuName]
Successfully created context menu app!
]`
})
Example:
bot.commands.add({
name: "deploy",
type: "basicCommand",
code: `$if[$botOwnerID!==$authorID;
You can't use this command!
;
$createContextMenuApplication[$guildID;Punch]
Successfully created context menu app!
]`
})
Responding to Context Menu Interactions
To respond to an interaction of a context menu, you can use the contextMenuCommand
type.
Template:
bot.commands.add({
type: "contextMenuCommand",
name: "name",
code: `$reply
Hello World`
})
Example:
bot.commands.add({
type: "contextMenuCommand",
name: "Punch",
code: `$reply
$username wants to punch <@$slashOption[user]>!`
})
Last updated
Was this helpful?