Files
javascript/node_modules/lemon-bot/build/Session.d.ts
T
2021-12-29 16:05:53 +08:00

22 lines
1.1 KiB
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>;
}