tgd-telegram-service/src/bot/bot.module.ts
2024-10-29 22:42:21 +04:00

65 lines
No EOL
1.7 KiB
TypeScript

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 {}