Files
Master-Bot/apps/bot/src/lib/music/classes/QueueClient.ts
2023-10-27 10:31:20 +02:00

31 lines
754 B
TypeScript

import Redis from 'ioredis';
import type { RedisOptions } from 'ioredis';
import { ConnectionInfo, Node, SendGatewayPayload } from 'lavaclient';
import { QueueStore } from './QueueStore';
export interface QueueClientOptions {
redis: Redis | RedisOptions;
}
export interface ConstructorTypes {
options: QueueClientOptions;
sendGatewayPayload: SendGatewayPayload;
connection: ConnectionInfo;
}
export class QueueClient extends Node {
public readonly queues: QueueStore;
public constructor({
options,
sendGatewayPayload,
connection
}: ConstructorTypes) {
super({ ...options, sendGatewayPayload, connection });
this.queues = new QueueStore(
this,
options.redis instanceof Redis ? options.redis : new Redis(options.redis)
);
}
}