nestwhats
v1.0.3
Published
A whatsapp-web.js wrapper for NestJS to create WhatsApp bots
Downloads
156
Maintainers
Readme
❓ About
NestWhats is a module for NestJS that abstracts methods from whatsapp-web.js to facilitate the creation of bots for WhatsApp.
whatsapp-web.js is a WhatsApp API client that connects through WhatsApp Web browser app using Puppeteer
[!IMPORTANT] It is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.
⬇️ Installation
[!NOTE] NodeJS
v20+is required
$ npm i nestwhats whatsapp-web.js
$ yarn add nestwhats whatsapp-web.js
$ pnpm add nestwhats whatsapp-web.js⚙️ Usage
Once the installation process is complete, we can import the NestWhatsModule into the root AppModule:
import { NestWhatsModule } from 'nestwhats';
import { Module } from '@nestjs/common';
import { AppUpdate } from './app.update';
@Module({
imports: [
NestWhatsModule.forRoot({
prefix: "!"
})
],
providers: [AppUpdate]
})
export class AppModule {}Then create app.update.ts file and add On/Once decorators for handling whatsapp-web.js events:
import { Injectable, Logger } from '@nestjs/common';
import { Context, On, Once, ContextOf } from 'nestwhats';
import { Client, Events } from 'whatsapp-web.js';
@Injectable()
export class AppUpdate {
private readonly logger = new Logger(AppUpdate.name);
public constructor(private readonly client: Client) {}
@Once("ready")
public onReady(@Context() [client]: ContextOf<'ready'>) {
this.logger.log(`Bot logged in as ${client.info.pushname}`);
}
@On("message_create")
public onWarn(@Context() [message]: ContextOf<'message_create'>) {
this.logger.log(message);
}
}Whenever you need to handle any event data, use the Context decorator.
If you want to fully dive into NestWhats, check out these resources:
- NestJS - A progressive framework for creating well-architectured applications.
- whatsapp-web.js - A WhatsApp client library for NodeJS that connects through the WhatsApp Web browser app
📝 To-Do
- [ ] Docs
- [ ] GH Pages or Wiki
- [ ] JSDoc in code
- [ ] New Providers
📖 License
🗞️ Credits
This project is inspired in Necord - 🤖 A module for creating Discord bots using NestJS, based on Discord.js
NestWhats is an adaptation of Necord to work with whatsapp-web.js
I NedcloarBR am a contributor to NecordWant to see your name on this list? - see the Contribution page.
