baileys-shard
Version:
A lightweight baileys multi session for whatsapp bot.
94 lines (87 loc) • 2.45 kB
text/typescript
import { EventEmitter } from 'events';
interface ShardInfoConstructorParams {
id: string | number;
index: number;
total: number;
phoneNumber?: string | null;
status?: string;
}
interface ShardInfoUpdateFields {
id?: string | number;
index?: number;
total?: number;
phoneNumber?: string | null;
status?: string;
}
interface ShardOptions {
id?: string;
phoneNumber?: string;
socket?: any;
}
interface ShardConfig {
session?: string;
}
declare class ShardInfo {
id: string | number;
index: number;
total: number;
phoneNumber: string | null;
status: string;
updatedAt: Date;
constructor({ id, index, total, phoneNumber, status }: ShardInfoConstructorParams);
update(fields?: ShardInfoUpdateFields): void;
}
declare class ShardManager extends EventEmitter {
#private;
private _patched?;
constructor(config?: ShardConfig);
checkSessionStatus(sessionDirectory: string): Promise<{
exists: boolean;
registered: boolean;
valid: boolean;
reason?: string;
}>;
validateAndCleanSession(sessionDirectory: string): Promise<void>;
cleanupCorruptSessions(): Promise<void>;
private setupShardEventHandlers;
createShard(options?: ShardOptions): Promise<{
id: string;
sock: any;
}>;
recreateShard(options: {
id: string;
clearSession?: boolean;
retryCount?: number;
forceRecreate?: boolean;
} & Partial<ShardOptions>): Promise<{
id: string;
sock: any;
}>;
getSessionInfo(id: string): Promise<{
exists: boolean;
registered: boolean;
valid: boolean;
reason?: string;
}>;
connect(id: string): Promise<{
id: string;
sock: any;
}>;
stopShard(id: string): Promise<boolean>;
loadAllShards(): Promise<string[]>;
socket(id: string): any | undefined;
shard(id: string): EventEmitter | null;
onAny(listener: (event: string, ...args: any[]) => void): void;
getShardInfo(id: string): ShardInfo | null;
getAllShardInfo(): ShardInfo[];
}
declare class ShardError extends Error {
code: string;
constructor(message: string, code?: string);
}
declare const _default: {
ShardManager: typeof ShardManager;
ShardInfo: typeof ShardInfo;
ShardError: typeof ShardError;
};
export { ShardError, ShardInfo, ShardManager, _default as default };