Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- declare module 'patron.js' {
- import { Message, Collection } from 'discord.js';
- export class Argument {
- constructor(options: ArgumentOptions);
- public name : string;
- public key : string;
- public type : string;
- public example: string;
- public default: any;
- public infinite: boolean;
- public remainder: boolean;
- public optional: boolean;
- private static validateArgument(argument: Argument, name: String): void;
- }
- export class ArgumentPrecondition {
- public run(command: Command, message: Message, argument: Argument, value: any): Promise<Result>;
- }
- export class Command {
- constructor(options: CommandOptions);
- public name: string;
- public aliases: Array<string>;
- public group: string;
- public description: string;
- public guildOnly: boolean;
- public userPermissions: Array<String>;
- public botPermissions: Array<String>;
- public preconditions: Array<Precondition>;
- public args: Array<Argument>;
- public coooldown: Number;
- public hasCooldown: Boolean;
- private _cooldowns: Map<String, Number>;
- public trigger: String;
- private static validateCommand(command: Command, name: String): void;
- }
- export enum CommandError {
- Precondition,
- UserPermission,
- BotPermission,
- TypeReader,
- GuildOnly,
- CommandNotFound,
- Cooldown,
- InvalidArgCount,
- Exception
- }
- export class Group {
- constructor(options: GroupOptions);
- public name: string;
- public description: string;
- public preconditions: Array<Precondition>;
- public commands: Collection<String, Command>;
- private static validateGroup(group: Group, name: String): void;
- }
- export class Result {
- constructor(options: ResultOptions);
- public success: boolean;
- public command: Command;
- public commandError: CommandError
- public errorReason: string;
- public error: Error;
- public value: any;
- public cooldown: Number;
- public remaining: Number;
- }
- export class Precondition {
- public run(command: Command, message: Message): Promise<Result>;
- }
- type ArgumentOptions = {
- name: string,
- key: string,
- type: string,
- example: string,
- default: any,
- infinite: boolean,
- remainder: boolean,
- preconditions: Array<ArgumentPrecondition>
- }
- type CommandOptions = {
- name: string,
- aliases: Array<string>,
- group: string,
- description: string,
- guildOnly: boolean,
- userPermissions: Array<String>,
- botPermissions: Array<String>,
- preconditions: Array<Precondition>,
- args: Array<Argument>,
- coooldown: Number
- }
- type GroupOptions = {
- name: string,
- description: string,
- preconditions: Array<Precondition>
- }
- type ResultOptions = {
- success: boolean,
- command: Command,
- commandError: CommandError,
- errorReason: string,
- error: Error,
- value: any,
- cooldown: Number,
- remaining: Number
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement