# Description - Create a command to generate an embed for the user to be able to buy more effects - This embed will contain the details about the effect as well as 2 buttons; Confirm and Cancel - The confirm button will call the button event to: - Remove the currency from the user - Give the user the effect to their inventory - The cancel button will just disable the buttons, so the user can't accidentally use it if they don't want to. #381 ## Type of change Please delete options that are not relevant. - [x] New feature (non-breaking change which adds functionality) # How Has This Been Tested? - Have created unit tests and tested locally # Checklist - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that provde my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules Reviewed-on: #424 Reviewed-by: VylpesTester <tester@vylpes.com> Co-authored-by: Ethan Lane <ethan@vylpes.com> Co-committed-by: Ethan Lane <ethan@vylpes.com>
26 lines
853 B
TypeScript
26 lines
853 B
TypeScript
import { ButtonInteraction } from "discord.js";
|
|
import { ButtonEvent } from "../type/buttonEvent";
|
|
import List from "./Effects/List";
|
|
import Use from "./Effects/Use";
|
|
import AppLogger from "../client/appLogger";
|
|
import Buy from "./Effects/Buy";
|
|
|
|
export default class Effects extends ButtonEvent {
|
|
public override async execute(interaction: ButtonInteraction) {
|
|
const action = interaction.customId.split(" ")[1];
|
|
|
|
switch (action) {
|
|
case "list":
|
|
await List(interaction);
|
|
break;
|
|
case "use":
|
|
await Use.Execute(interaction);
|
|
break;
|
|
case "buy":
|
|
await Buy.Execute(interaction);
|
|
break;
|
|
default:
|
|
AppLogger.LogError("Buttons/Effects", `Unknown action, ${action}`);
|
|
}
|
|
}
|
|
}
|