https://github.com/nedcloarbr/nestwhats
A whatsapp-web.js wrapper for NestJS to create Whatsapp bots
https://github.com/nedcloarbr/nestwhats
nestjs nestwhats whatsapp-bot whatsapp-web-js
Last synced: about 1 month ago
JSON representation
A whatsapp-web.js wrapper for NestJS to create Whatsapp bots
- Host: GitHub
- URL: https://github.com/nedcloarbr/nestwhats
- Owner: NedcloarBR
- License: gpl-3.0
- Created: 2025-01-28T21:21:52.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-04-11T22:41:01.000Z (about 1 month ago)
- Last Synced: 2025-04-13T19:13:05.715Z (about 1 month ago)
- Topics: nestjs, nestwhats, whatsapp-bot, whatsapp-web-js
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/nestwhats
- Size: 1.26 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: License
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
NestWhats
A whatsapp-web.js wrapper for NestJS to create WhatsApp bots
About
•
Installation
•
Usage
•
To-Do
•
License
•
Credits## ❓ 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```bash
$ 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`:
```TypeScript
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:
```TypeScript
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() {
this.logger.log(`Bot logged in as ${this.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](https://nestjs.com) - A progressive framework for creating well-architectured applications.
- [whatsapp-web.js](https://wwebjs.dev/) - 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
[GPL-3.0 License](https://github.com/NedcloarBR/NestWhats/blob/master/License)
## 🗞️ Credits
- This project is inspired in [Necord](https://necord.org/) - 🤖 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 Necord- Want to see your name on this list? - see the [Contribution](https://github.com/NedcloarBR/NestWhats/blob/master/.github/CONTRIBUTING.md) page.