lemon-bot
Version:
a qq bot framework
22 lines (21 loc) • 1.11 kB
TypeScript
import * as IORedis from 'ioredis';
import { Message } from './CQHelper';
import { RequestIdentity } from './Command';
export declare type HistoryMessage = Record<string, Array<Message[]>>;
export interface SessionData extends RequestIdentity {
className: string;
sessionName: string;
historyMessage: HistoryMessage;
}
export declare class Session {
private static readonly debug;
private readonly redis;
constructor(port?: number, host?: string, options?: IORedis.RedisOptions);
constructor(host?: string, options?: IORedis.RedisOptions);
constructor(options?: IORedis.RedisOptions);
private static genSessionKey;
getSession(params: RequestIdentity): Promise<SessionData | null>;
setSession(params: RequestIdentity, data: Omit<SessionData, 'sessionName' | keyof RequestIdentity>, sessionName: SessionData['sessionName'], expireSeconds?: number): Promise<void>;
updateSession<T extends keyof SessionData>(params: RequestIdentity, hashKey: T, val: SessionData[T]): Promise<void>;
removeSession(params: RequestIdentity): Promise<void>;
}