registry.registerChatInputCommand(
(builder) =>
builder
.setName('leaderboards') //
.setDescription('Manage leaderboards.')
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.ManageChannels)
.addSubcommand(
new SlashCommandSubcommandBuilder() //
.setName('deploy')
.setDescription('Deploys a leaderboard of a given metric in this channel.')
.addStringOption(
new SlashCommandStringOption() //
.setName('metric')
.setDescription("The leaderboard's tracked metric type.")
.setRequired(true)
.setChoices<APIApplicationCommandOptionChoice<LeaderboardType>>([
{
name: 'Appointments Set',
value: LeaderboardType.AppointmentsSet
},
{
name: 'Showed Up To Appointments',
value: LeaderboardType.ShowedUpToAppointments
},
{
name: 'Sequence Subscriptions',
value: LeaderboardType.SequenceSubscriptions
},
{
name: 'Completed Calls',
value: LeaderboardType.CompletedCalls
}
])
)
)
);registry.registerChatInputCommand(
(builder) =>
builder
.setName('leaderboards') //
.setDescription('Manage leaderboards.')
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.ManageChannels)
.addSubcommand(
new SlashCommandSubcommandBuilder() //
.setName('deploy')
.setDescription('Deploys a leaderboard of a given metric in this channel.')
.addStringOption(
new SlashCommandStringOption() //
.setName('metric')
.setDescription("The leaderboard's tracked metric type.")
.setRequired(true)
.setChoices<APIApplicationCommandOptionChoice<LeaderboardType>>([
{
name: 'Appointments Set',
value: LeaderboardType.AppointmentsSet
},
{
name: 'Showed Up To Appointments',
value: LeaderboardType.ShowedUpToAppointments
},
{
name: 'Sequence Subscriptions',
value: LeaderboardType.SequenceSubscriptions
},
{
name: 'Completed Calls',
value: LeaderboardType.CompletedCalls
}
])
)
)
);
registry.registerChatInputCommand((builder) =>
builder
.setName('leaderboards') //
.setDescription('Manage leaderboards.')
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.ManageChannels)
.addSubcommand((builder) =>
builder
.setName('deploy')
.setDescription('Deploys a leaderboard of a given metric in this channel.')
.addStringOption((builder) =>
builder
.setName('metric')
.setDescription("The leaderboard's tracked metric type.")
.setRequired(true)
.setChoices<APIApplicationCommandOptionChoice<LeaderboardType>>([
{
name: 'Appointments Set',
value: LeaderboardType.AppointmentsSet
},
{
name: 'Showed Up To Appointments',
value: LeaderboardType.ShowedUpToAppointments
},
{
name: 'Sequence Subscriptions',
value: LeaderboardType.SequenceSubscriptions
},
{
name: 'Completed Calls',
value: LeaderboardType.CompletedCalls
}
])
)
)
);registry.registerChatInputCommand((builder) =>
builder
.setName('leaderboards') //
.setDescription('Manage leaderboards.')
.setDMPermission(false)
.setDefaultMemberPermissions(PermissionFlagsBits.ManageChannels)
.addSubcommand((builder) =>
builder
.setName('deploy')
.setDescription('Deploys a leaderboard of a given metric in this channel.')
.addStringOption((builder) =>
builder
.setName('metric')
.setDescription("The leaderboard's tracked metric type.")
.setRequired(true)
.setChoices<APIApplicationCommandOptionChoice<LeaderboardType>>([
{
name: 'Appointments Set',
value: LeaderboardType.AppointmentsSet
},
{
name: 'Showed Up To Appointments',
value: LeaderboardType.ShowedUpToAppointments
},
{
name: 'Sequence Subscriptions',
value: LeaderboardType.SequenceSubscriptions
},
{
name: 'Completed Calls',
value: LeaderboardType.CompletedCalls
}
])
)
)
);