nestjs-max
v0.1.3
Published
Модуль NestJS для интеграции с Max Bot API
Maintainers
Readme
NestJS Max
NestJS Max — библиотека для создания чат-ботов в мессенджере Max.
Этот модуль обеспечивает быстрый и простой способ взаимодействия с Max Bot API и создания ботов для мессенджера Max, а также глубокую интеграцию с вашим приложением NestJS.
Установка
# NPM
npm i nestjs-max @maxhub/max-bot-api
# Yarn
yarn add nestjs-max @maxhub/max-bot-apiПример использования
1. Минимум кода
Убедитесь, что в файле .env установлено значение для BOT_TOKEN
main.ts
import 'dotenv/config';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
NestFactory.createApplicationContext(AppModule);
app.module.ts
import { Module } from '@nestjs/common';
import { MaxModule } from 'nestjs-max';
import { BotUpdate } from './bot.update';
@Module({
imports: [
MaxModule.forRoot({
token: process.env.BOT_TOKEN!,
replyOptions: { markup: 'html' },
}),
],
providers: [BotUpdate],
})
export class AppModule {}bot.update.ts
Декораторы имеют префикс
Maxдля удобной совместимости с другими библиотеками для Nest. Можно экспортировать и без префикса
import {
MaxContext, // Ctx
MaxHears, // Hears
MaxOn, // On
MaxReplyOptions, // ReplyOptions
MaxStarted, // Started
MaxStartPayload, // StartPayload
MaxUpdate, // Update
} from 'nestjs-max';
import { type Context } from '@maxhub/max-bot-api';
import type { MessageCreatedUpdate } from '@maxhub/max-bot-api/dist/core/network/api';
@MaxUpdate()
export class BotUpdate {
@MaxStarted()
onStarted(@MaxStartPayload() payload?: string | null) {
console.log('[onStarted] Info: ', { payload });
return 'HelloW! Use /start';
}
@MaxHears(/(.*)/i)
onBroke(@MaxContext() ctx: Context<MessageCreatedUpdate>) {
ctx.reply('Hmm...');
}
@MaxReplyOptions({ replyTo: true })
@MaxOn('message_edited')
async onMsgEdited() {
return 'I see that 👀...';
}
}2. Проект в sample
- Установить значения в
.env - Запустить
npm install - Запустить
npm run start:dev
Для получения ID своего профиля исользовать комануд /id.
Полученный ID указать в .env файле для MAX_BOT_ADMIN_IDS и/или MAX_BOT_USER_IDS
Команды для проверки различных сценариев с ролями: /admin, /admins, /user
