import { Logger } from 'log4js'; import { createClient } from 'redis'; import { IOctoBotConfig } from '../types/ICore'; import { IOctoMessage, ISendOptions } from '../types/IMessage'; import OctoEvent from './event'; import OctoGroup from './group'; import OctoUser from './user'; export default abstract class OctoBot { ROOT: string; platformName: string; private _userMap; private _config; private _logger; redisClient: ReturnType; get config(): IOctoBotConfig; set config(c: IOctoBotConfig); constructor(ROOT: string, platformName: string); get logger(): Logger; get users(): IterableIterator>; getBotAsUser(): Promise>; getUserById(id: string): OctoUser | null; setAndGetUser(id: string, userName: string, nickName: string, rawUser: RU, isBot: boolean): OctoUser; abstract get rawBot(): RB; protected abstract eventAdapter(rawEvent: RE): OctoEvent; protected abstract botAdapter(rawBot: RB): Promise>; abstract userAdapter(rawUser: RU): OctoUser; abstract send(msg: IOctoMessage, options?: ISendOptions): Promise; abstract getGroups(): Promise; abstract run(): Promise; protected onMessage(rawEvent: RE, ignoreBotMsg?: boolean): Promise; protected handleMessage(event: OctoEvent): Promise; private _callMethod; } //# sourceMappingURL=bot.d.ts.map