Compare commits
2 commits
d7a5472759
...
9fce79579b
Author | SHA1 | Date | |
---|---|---|---|
9fce79579b | |||
1be9ba23a3 |
4 changed files with 54 additions and 0 deletions
18
src/commands/effects.ts
Normal file
18
src/commands/effects.ts
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import {CommandInteraction, SlashCommandBuilder} from "discord.js";
|
||||||
|
import {Command} from "../type/command";
|
||||||
|
|
||||||
|
export default class Effects extends Command {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.CommandBuilder = new SlashCommandBuilder()
|
||||||
|
.setName("effects")
|
||||||
|
.setDescription("Effects")
|
||||||
|
.addSubcommand(x => x
|
||||||
|
.setName("list")
|
||||||
|
.setDescription("List all effects I have"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public override async execute(interaction: CommandInteraction) {
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,4 +57,19 @@ export default class UserEffect extends AppBaseEntity {
|
||||||
|
|
||||||
return single;
|
return single;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async FetchAllByUserIdPaginated(userId: string, page: number = 0): Promise<UserEffect[]> {
|
||||||
|
const itemsPerPage = 10;
|
||||||
|
|
||||||
|
const repository = AppDataSource.getRepository(UserEffect);
|
||||||
|
|
||||||
|
const all = await repository.find({
|
||||||
|
where: { UserId: userId },
|
||||||
|
order: { Name: "ASC" },
|
||||||
|
skip: page * itemsPerPage,
|
||||||
|
take: itemsPerPage,
|
||||||
|
});
|
||||||
|
|
||||||
|
return all;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
import {EmbedBuilder} from "discord.js";
|
||||||
import UserEffect from "../database/entities/app/UserEffect";
|
import UserEffect from "../database/entities/app/UserEffect";
|
||||||
|
import EmbedColours from "../constants/EmbedColours";
|
||||||
|
|
||||||
export default class EffectHelper {
|
export default class EffectHelper {
|
||||||
public static async AddEffectToUserInventory(userId: string, name: string, quantity: number = 1) {
|
public static async AddEffectToUserInventory(userId: string, name: string, quantity: number = 1) {
|
||||||
|
@ -46,4 +48,21 @@ export default class EffectHelper {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async GenerateEffectEmbed(userId: string, page: number): Promise<EmbedBuilder> {
|
||||||
|
const effects = await UserEffect.FetchAllByUserIdPaginated(userId, page - 1);
|
||||||
|
|
||||||
|
let description = "*none*";
|
||||||
|
|
||||||
|
if (effects.length > 0) {
|
||||||
|
description = effects.map(x => `${x.Name} x${x.Unused}`).join("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
const embed = new EmbedBuilder()
|
||||||
|
.setTitle("Effects")
|
||||||
|
.setDescription(description)
|
||||||
|
.setColor(EmbedColours.Ok);
|
||||||
|
|
||||||
|
return embed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import AllBalance from "./commands/allbalance";
|
||||||
import Balance from "./commands/balance";
|
import Balance from "./commands/balance";
|
||||||
import Daily from "./commands/daily";
|
import Daily from "./commands/daily";
|
||||||
import Drop from "./commands/drop";
|
import Drop from "./commands/drop";
|
||||||
|
import Effects from "./commands/effects";
|
||||||
import Gdrivesync from "./commands/gdrivesync";
|
import Gdrivesync from "./commands/gdrivesync";
|
||||||
import Give from "./commands/give";
|
import Give from "./commands/give";
|
||||||
import Id from "./commands/id";
|
import Id from "./commands/id";
|
||||||
|
@ -44,6 +45,7 @@ export default class Registry {
|
||||||
CoreClient.RegisterCommand("balance", new Balance());
|
CoreClient.RegisterCommand("balance", new Balance());
|
||||||
CoreClient.RegisterCommand("daily", new Daily());
|
CoreClient.RegisterCommand("daily", new Daily());
|
||||||
CoreClient.RegisterCommand("drop", new Drop());
|
CoreClient.RegisterCommand("drop", new Drop());
|
||||||
|
CoreClient.RegisterCommand("effects", new Effects());
|
||||||
CoreClient.RegisterCommand("gdrivesync", new Gdrivesync());
|
CoreClient.RegisterCommand("gdrivesync", new Gdrivesync());
|
||||||
CoreClient.RegisterCommand("give", new Give());
|
CoreClient.RegisterCommand("give", new Give());
|
||||||
CoreClient.RegisterCommand("id", new Id());
|
CoreClient.RegisterCommand("id", new Id());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue