Add ability to sacrifice multiple cards at once #354

Merged
Vylpes merged 4 commits from feature/337-sacrifice-multiple into develop 2024-09-15 16:57:25 +01:00
2 changed files with 5 additions and 3 deletions
Showing only changes of commit 4359cbba1e - Show all commits

View file

@ -23,7 +23,7 @@ export default class Sacrifice extends ButtonEvent {
private async confirm(interaction: ButtonInteraction) {
const userId = interaction.customId.split(" ")[2];
const cardNumber = interaction.customId.split(" ")[3];
const quantity = Number(interaction.customId.split(" ")[4]) ?? 1;
const quantity = Number(interaction.customId.split(" ")[4]) || 1;
Vylpes marked this conversation as resolved Outdated

I don't actually think this works, try using || instead of ??

I don't actually think this works, try using `||` instead of `??`
if (userId != interaction.user.id) {
await interaction.reply("Only the user who created this sacrifice can confirm it.");
@ -105,7 +105,7 @@ export default class Sacrifice extends ButtonEvent {
private async cancel(interaction: ButtonInteraction) {
const userId = interaction.customId.split(" ")[2];
const cardNumber = interaction.customId.split(" ")[3];
const quantity = Number(interaction.customId.split(" ")[4]) ?? 1;
const quantity = Number(interaction.customId.split(" ")[4]) || 1;
Vylpes marked this conversation as resolved Outdated

Same here

Same here
if (userId != interaction.user.id) {
await interaction.reply("Only the user who created this sacrifice can cancel it.");

View file

@ -25,7 +25,9 @@ export default class Sacrifice extends Command {
public override async execute(interaction: CommandInteraction<CacheType>): Promise<void> {
const cardnumber = interaction.options.get("cardnumber", true);
const quantity = interaction.options.get("quantity")?.value as number ?? 1;
const quantityInput = interaction.options.get("quantity")?.value ?? 1;
Vylpes marked this conversation as resolved Outdated

Same here

Same here
const quantity = Number(quantityInput) || 1;
const cardInInventory = await Inventory.FetchOneByCardNumberAndUserId(interaction.user.id, cardnumber.value! as string);