UNPKG

psyduck-plugin-quotes

Version:
47 lines (46 loc) 1.85 kB
/// <reference types="command-line-args" /> import 'reflect-metadata'; import { CommandLineOptions } from 'command-line-args'; import * as Discord from 'discord.js'; import { BotPlugin } from 'psyduck-contracts'; import { PluginQuoteUser, UserQuote } from 'psyduck-models'; import { ConnectionOptions, Repository } from 'typeorm'; export declare const commandOptions: ({ name: string; alias: string; type: NumberConstructor; defaultOption?: undefined; } | { name: string; alias: string; type: BooleanConstructor; defaultOption?: undefined; } | { name: string; alias: string; type: StringConstructor; defaultOption: boolean; })[]; export declare const userFormatRegex: RegExp; export declare enum CommandType { Quote = 0, Random = 1, } export default class PsyduckQuotes implements BotPlugin { users: Repository<PluginQuoteUser>; quotes: Repository<UserQuote>; connectionOptions: ConnectionOptions; constructor(options: any); connect(): void; onMessage(message: Discord.Message): void; parseParameters(messageContent: string): string[]; hydrateOptions(parameters: string[]): CommandLineOptions; extractUserId(userId: string): string | undefined; prepareHandler(message: Discord.Message, commandType: CommandType): void; sendHelp(message: Discord.Message): void; getUser(userId: string): Promise<PluginQuoteUser | undefined>; createUser(guildId: string, serverName: string, guildAvatarUrl: string, userId: string, userName: string, avatarUrl: string): PluginQuoteUser; recallQuote(message: Discord.Message, userId: string): Promise<void>; buildQuote(capturerId: string, content: string): UserQuote; saveQuote(message: Discord.Message, userId: string, pluck?: number): Promise<void>; }