Command to allow the user to buy more effects (#424)
# 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>
This commit is contained in:
parent
c6b458199c
commit
5089ad6ab6
20 changed files with 942 additions and 97 deletions
22
src/commands/effects/Buy.ts
Normal file
22
src/commands/effects/Buy.ts
Normal file
|
@ -0,0 +1,22 @@
|
|||
import { CommandInteraction } from "discord.js";
|
||||
import EffectHelper from "../../helpers/EffectHelper";
|
||||
|
||||
export default async function Buy(interaction: CommandInteraction) {
|
||||
const id = interaction.options.get("id", true).value!;
|
||||
const quantity = interaction.options.get("quantity")?.value ?? 1;
|
||||
|
||||
const idValue = id.toString();
|
||||
const quantityValue = Number(quantity);
|
||||
|
||||
const result = await EffectHelper.GenerateEffectBuyEmbed(interaction.user.id, idValue, quantityValue, false);
|
||||
|
||||
if (typeof result == "string") {
|
||||
await interaction.reply(result);
|
||||
return;
|
||||
}
|
||||
|
||||
await interaction.reply({
|
||||
embeds: [ result.embed ],
|
||||
components: [ result.row ],
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue