Compare commits
2 commits
0e1bc43ac4
...
7944b3aeac
Author | SHA1 | Date | |
---|---|---|---|
7944b3aeac | |||
3873983b32 |
3 changed files with 51 additions and 1 deletions
33
src/buttonEvents/Effects.ts
Normal file
33
src/buttonEvents/Effects.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
import {ButtonInteraction} from "discord.js";
|
||||
import {ButtonEvent} from "../type/buttonEvent";
|
||||
import EffectHelper from "../helpers/EffectHelper";
|
||||
|
||||
export default class Effects extends ButtonEvent {
|
||||
public override async execute(interaction: ButtonInteraction) {
|
||||
const action = interaction.customId.split(" ")[1];
|
||||
|
||||
switch (action) {
|
||||
case "list":
|
||||
await this.List(interaction);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private async List(interaction: ButtonInteraction) {
|
||||
const pageOption = interaction.customId.split(" ")[2];
|
||||
|
||||
const page = Number(pageOption);
|
||||
|
||||
if (!page) {
|
||||
await interaction.reply("Page option is not a valid number");
|
||||
return;
|
||||
}
|
||||
|
||||
const result = await EffectHelper.GenerateEffectEmbed(interaction.user.id, page);
|
||||
|
||||
await interaction.update({
|
||||
embeds: [ result.embed ],
|
||||
components: [ result.row ],
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
import {CommandInteraction, SlashCommandBuilder} from "discord.js";
|
||||
import {Command} from "../type/command";
|
||||
import EffectHelper from "../helpers/EffectHelper";
|
||||
|
||||
export default class Effects extends Command {
|
||||
constructor() {
|
||||
|
@ -10,7 +11,11 @@ export default class Effects extends Command {
|
|||
.setDescription("Effects")
|
||||
.addSubcommand(x => x
|
||||
.setName("list")
|
||||
.setDescription("List all effects I have"));
|
||||
.setDescription("List all effects I have")
|
||||
.addNumberOption(x => x
|
||||
.setName("page")
|
||||
.setDescription("The page number")
|
||||
.setMinValue(1)));
|
||||
}
|
||||
|
||||
public override async execute(interaction: CommandInteraction) {
|
||||
|
@ -26,5 +31,15 @@ export default class Effects extends Command {
|
|||
}
|
||||
|
||||
private async List(interaction: CommandInteraction) {
|
||||
const pageOption = interaction.options.get("page");
|
||||
|
||||
const page = pageOption && Number(pageOption.value) ? Number(pageOption.value) : 1;
|
||||
|
||||
const result = await EffectHelper.GenerateEffectEmbed(interaction.user.id, page);
|
||||
|
||||
await interaction.reply({
|
||||
embeds: [ result.embed ],
|
||||
components: [ result.row ],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import Droprarity from "./commands/stage/droprarity";
|
|||
|
||||
// Button Event Imports
|
||||
import Claim from "./buttonEvents/Claim";
|
||||
import EffectsButtonEvent from "./buttonEvents/Effects";
|
||||
import InventoryButtonEvent from "./buttonEvents/Inventory";
|
||||
import MultidropButtonEvent from "./buttonEvents/Multidrop";
|
||||
import Reroll from "./buttonEvents/Reroll";
|
||||
|
@ -65,6 +66,7 @@ export default class Registry {
|
|||
|
||||
public static RegisterButtonEvents() {
|
||||
CoreClient.RegisterButtonEvent("claim", new Claim());
|
||||
CoreClient.RegisterButtonEvent("effects", new EffectsButtonEvent());
|
||||
CoreClient.RegisterButtonEvent("inventory", new InventoryButtonEvent());
|
||||
CoreClient.RegisterButtonEvent("multidrop", new MultidropButtonEvent());
|
||||
CoreClient.RegisterButtonEvent("reroll", new Reroll());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue