-
silva.js is a single ~77 kB file that appears to contain a large portion of the bot logic.
-
The project depends on @whiskeysockets/baileys overridden to the unofficial gifted-baileys package (see package.json overrides).
-
Unofficial forks frequently lag behind WhatsApp protocol changes and are a common source of sudden connection / ban issues.
-
config.env is committed (even if currently minimal). Many similar bots accidentally commit real session data or secrets later.
-
There is no obvious automated test suite or clear separation between core connection handling, plugin system, and feature modules.
Suggested work
-
Split silva.js into smaller modules (connection, message handler, plugin loader, anti-ban, etc.).
-
Prefer the official Baileys package (or document why the fork is required and pin a specific commit).
-
Add a proper .env.example and ensure real secrets / session files are never committed.
-
Add basic integration tests around the connection lifecycle and a few critical commands so protocol changes are caught earlier.
These changes would improve long-term maintainability and reduce the chance of sudden production breakage.
silva.js is a single ~77 kB file that appears to contain a large portion of the bot logic.
The project depends on @whiskeysockets/baileys overridden to the unofficial gifted-baileys package (see package.json overrides).
Unofficial forks frequently lag behind WhatsApp protocol changes and are a common source of sudden connection / ban issues.
config.env is committed (even if currently minimal). Many similar bots accidentally commit real session data or secrets later.
There is no obvious automated test suite or clear separation between core connection handling, plugin system, and feature modules.
Suggested work
Split silva.js into smaller modules (connection, message handler, plugin loader, anti-ban, etc.).
Prefer the official Baileys package (or document why the fork is required and pin a specific commit).
Add a proper .env.example and ensure real secrets / session files are never committed.
Add basic integration tests around the connection lifecycle and a few critical commands so protocol changes are caught earlier.
These changes would improve long-term maintainability and reduce the chance of sudden production breakage.