import {BotUpdate} from './bot.update'; import {Module} from '@nestjs/common'; import {RegisterScene} from './scenes/register.scene'; import {RegisterNamePrompt} from './scenes/register.name.prompt'; import {EchoService} from './EchoService'; import {QuizScene} from './scenes/quiz.scene'; import {RegisterPhotoScene} from './scenes/register.photo.scene'; import {GlobalCommands} from './global-commands'; import {ClientProxyFactory, Transport} from '@nestjs/microservices'; import * as process from "process"; import {ConfigModule} from "@nestjs/config"; import AppConsts from "../constants"; const cmdHandles = [ //TgPostCardsToUserCommandHandler, //TgCardSelectionSceneCommandHandler, //RemoveCardFromUserCommandHandler, ]; @Module({ imports: [ ConfigModule, ], providers: [ BotUpdate, RegisterScene, RegisterNamePrompt, EchoService, QuizScene, RegisterPhotoScene, GlobalCommands, { provide: AppConsts.GameServiceName, useFactory: () => ClientProxyFactory.create({ transport: Transport.RMQ, options: { urls: [process.env.RMQ_URL], queue: process.env.RMQ_OUTBOX_Q, queueOptions: { durable: false, }, }, }), }, { provide: AppConsts.PhotoServiceName, useFactory: () => ClientProxyFactory.create({ transport: Transport.RMQ, options: { urls: [process.env.RMQ_URL], queue: process.env.RMQ_PHOTOS_Q, queueOptions: { durable: false, }, }, }), }, ...cmdHandles, ], exports: [EchoService], }) export class BotModule {}