Add dropdown to /inventory command for quick navigation (#365)
- Add ability to handle dropdown menus with the bot - Add a dropdown to the inventoryhelper - Add handler for the dropdown to navigate to that page #344 Reviewed-on: #365 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
5ebc5ff27c
commit
1762b525b2
11 changed files with 146 additions and 7 deletions
|
@ -17,11 +17,14 @@ import AppLogger from "./appLogger";
|
|||
import TimerHelper from "../helpers/TimerHelper";
|
||||
import GiveCurrency from "../timers/GiveCurrency";
|
||||
import PurgeClaims from "../timers/PurgeClaims";
|
||||
import StringDropdownEventItem from "../contracts/StringDropdownEventItem";
|
||||
import {StringDropdownEvent} from "../type/stringDropdownEvent";
|
||||
|
||||
export class CoreClient extends Client {
|
||||
private static _commandItems: ICommandItem[];
|
||||
private static _eventExecutors: EventExecutors;
|
||||
private static _buttonEvents: IButtonEventItem[];
|
||||
private static _stringDropdowns: StringDropdownEventItem[];
|
||||
|
||||
private _events: Events;
|
||||
private _util: Util;
|
||||
|
@ -45,6 +48,10 @@ export class CoreClient extends Client {
|
|||
return this._buttonEvents;
|
||||
}
|
||||
|
||||
public static get stringDropdowns(): StringDropdownEventItem[] {
|
||||
return this._stringDropdowns;
|
||||
}
|
||||
|
||||
constructor(intents: number[]) {
|
||||
super({ intents: intents });
|
||||
dotenv.config();
|
||||
|
@ -59,6 +66,7 @@ export class CoreClient extends Client {
|
|||
|
||||
CoreClient._commandItems = [];
|
||||
CoreClient._buttonEvents = [];
|
||||
CoreClient._stringDropdowns = [];
|
||||
|
||||
this._events = new Events();
|
||||
this._util = new Util();
|
||||
|
@ -408,4 +416,19 @@ export class CoreClient extends Client {
|
|||
AppLogger.LogVerbose("Client", `Registered Button Event: ${buttonId}`);
|
||||
}
|
||||
}
|
||||
|
||||
public static RegisterStringDropdownEvent(dropdownId: string, event: StringDropdownEvent, environment: Environment = Environment.All) {
|
||||
const item: StringDropdownEventItem = {
|
||||
DropdownId: dropdownId,
|
||||
Event: event,
|
||||
Environment: environment,
|
||||
};
|
||||
|
||||
if ((environment & CoreClient.Environment) == CoreClient.Environment) {
|
||||
CoreClient._stringDropdowns.push(item);
|
||||
|
||||
AppLogger.LogVerbose("Client", `Registered String Dropdown Event: ${dropdownId}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue