{"id":15103123,"url":"https://github.com/yaasiin-ayeva/whatsbot","last_synced_at":"2025-10-22T23:30:24.429Z","repository":{"id":243556228,"uuid":"812724677","full_name":"yaasiin-ayeva/WhatsBot","owner":"yaasiin-ayeva","description":"Simple WhatsApp AI bot. Supports voice messages and video downloads from social networks.","archived":false,"fork":false,"pushed_at":"2025-01-28T12:23:44.000Z","size":12904,"stargazers_count":29,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-28T13:37:57.050Z","etag":null,"topics":["ai","bot","tiktok-bot","tiktokdl","whatsapp","whatsapp-ai","whatsapp-api","whatsapp-bot"],"latest_commit_sha":null,"homepage":"https://yaasiin-dev.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yaasiin-ayeva.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-09T17:45:23.000Z","updated_at":"2025-01-28T12:23:45.000Z","dependencies_parsed_at":"2024-06-09T20:58:19.511Z","dependency_job_id":"5ff3b2aa-6a99-420d-bb04-81852fa6ee38","html_url":"https://github.com/yaasiin-ayeva/WhatsBot","commit_stats":{"total_commits":70,"total_committers":4,"mean_commits":17.5,"dds":0.05714285714285716,"last_synced_commit":"732dada6fd39b24e1297fb620887d76fd5bcf816"},"previous_names":["yaasiin-ayeva/whatsbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaasiin-ayeva%2FWhatsBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaasiin-ayeva%2FWhatsBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaasiin-ayeva%2FWhatsBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaasiin-ayeva%2FWhatsBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaasiin-ayeva","download_url":"https://codeload.github.com/yaasiin-ayeva/WhatsBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237748140,"owners_count":19359785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","bot","tiktok-bot","tiktokdl","whatsapp","whatsapp-ai","whatsapp-api","whatsapp-bot"],"created_at":"2024-09-25T19:21:23.397Z","updated_at":"2025-10-22T23:30:24.423Z","avatar_url":"https://github.com/yaasiin-ayeva.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbody\u003e\n    \u003cdiv align=\"center\"\u003e\n        \u003ch1\u003e\n            WhatsBot \u003cbr/\u003e\n            \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/build-passing-brightgreen\"\u003e\n            \u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/yaasiin-ayeva/WhatsBot\"\u003e\n            \u003cimg alt=\"GitHub forks\" src=\"https://img.shields.io/github/forks/yaasiin-ayeva/WhatsBot\"\u003e\n        \u003c/h1\u003e\n        \u003cimg src=\"public/botavatar.gif\" alt=\"Preview\" width=\"40%\" style=\"max-width: 300px; border-radius: 8px;\"\u003e\n        \u003cp\u003e\n            Simple WhatsApp bot from unofficial WhatsApp API, built in NodeJS \u0026amp; TypeScript, using Gemini \u0026amp; ChatGPT APIs for completion, with many cool features. You can interact with the bot using voice messages, and it will transcribe and respond. 🤖\n        \u003c/p\u003e\n        \u003cp\u003e\n            Try it here: \u003ca href=\"https://wa.me/qr/SBHRATABRAZVA1\" target=\"_blank\"\u003eWhatsBot Playground\u003c/a\u003e or scan the QR code below:\n        \u003c/p\u003e\n        \u003cbr\u003e\n        \u003cimg src=\"public/qr.jpg\" width=\"35%\" alt=\"WhatsApp QR Code\" style=\"margin-top: 20px;\"\u003e\n    \u003c/div\u003e\n\u003c/body\u003e\n\n\n## Features\n\nIn development mode, your bot prefix will be automatically set to `!`. Meanning that you can use `!help` to get the list of commands instead of `/help`.\n\n| Feature | Description | Example |\n| --- | --- | --- |\n| Voice Chat | Chat with AI and expect a audio/text response from the bot | Just send an audio message |\n| AI Completion with Gemini AI | Sends a message to the AI | `/chat [text]` |\n| AI Completion with ChatGPT | Sends a message to the AI | `/gpt [text]` |\n| Video Download from social media | Download file from social media | Just send the video link or `/get \u003curl\u003e` |\n| Memes | Get random meme | `/meme` |\n| Jokes | Get random joke | `/joke` |\n| Help | Get help | `/help` |\n| Ping | Ping the bot | `/ping` |\n| Language Translation | Translate text to the specified language | `/translate [language-code] [text]` |\n| Weather | Get current weather for a city | `/meteo \u003ccity\u003e` |\n\n\n## Getting Started\n\n### I. Running on Docker (Recommended)\n\n\n1. From DockerHub image for a Quick Test\n```bash\t\ndocker pull yaasiinayeva/whatsbot:latest\ndocker run -d -p 3000:3000 yaasiinayeva/whatsbot\n```\n\n2. From the Github Code\n- After cloning the project make sure to setup your environnment variables from the `.env.example` file\n```bash\ncp .env.example .env\n```\n\n- Then Build your container and start your project\n```bash\t\ndocker-compose up --build -d\n```\n\nA QR code will be generated for you to scan.\nGo to \u003ca target=\"_blank\" href=\"localhost:3000\"\u003elocalhost:3000\u003c/a\u003e\nKindly scan it with your whatsapp app and you're all set! 🎉 \n\n\n### II. Runninng Locally without docker (Not Recommended)\n\n\u003e [!IMPORTANT]\n\u003e Running locally requires you to do more configuration. This project is based on `whatsappweb.js` which uses `Pupperteer`. It requires a brower driver to work. You have to install Chrome or Chromium on your machine. Make sure the environment variables are set in the `.env` file before starting the server. The `PUPPETEER_EXECUTABLE_PATH` should be set to your chrome/chromium browser path.\n\n```bash\nnpm install\ncp .env.example .env\nnpm run dev\n```\n\nA QR code will be generated for you to scan.\nGo to \u003ca target=\"_blank\" href=\"localhost:3000\"\u003elocalhost:3000\u003c/a\u003e\nKindly scan it with your whatsapp app and you're all set! 🎉 \n\n\n## Configurations\n\nYou can change the configurations in `src/configs/app.config.ts`\n\nFor third-party services used in the bot, kindly get the API keys and set them correctly. These are the one used in the bot, skipping them could lead to limitations :\n\n- [Gemini](https://aistudio.google.com/app/apikey) : AI for text completion\n- [ChatGPT](https://platform.openai.com/api-keys) : ChatGPT for text completion\n- [Open Weather API](https://www.weatherapi.com/my/) : Provides weather information\n- [Speechify](https://console.sws.speechify.com/api-keys) : Text-to-Speech tool used in this project\n- [AssemblyAI](https://www.assemblyai.com/docs) : Speech to text tool used in this project \n- [Youtube DLP Wrapper](https://github.com/foxesdocode/yt-dlp-wrap) : Video Downloader used in this project\n\n## Disclaimer\n\u003e [!WARNING]\n\u003e **It is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, especially when it is used to spam people. So this shouldn't be considered totally safe.**\n\n## TODO\n- [x] i18n support\n- [x] Add support for more translation languages\n- [ ] Implement a queue system to handle multiple concurrent video download requests at the same time and make the bot more responsive\n- [ ] Refactor the code to not use third-party services for speech-to-text and use `whisper-node` instead\n- [ ] Add support for any kind of file download\n- [ ] Implement an API for the bot\n- [ ] Add more features (Open to suggestions)\n\n## Contributing\n\nIf you'd like to contribute, please read the [Contributing Guide](CONTRIBUTING.md)\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaasiin-ayeva%2Fwhatsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaasiin-ayeva%2Fwhatsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaasiin-ayeva%2Fwhatsbot/lists"}