After a full day of coding with discord.js v14 I finally pushed the biggest upgrade yet for our GO BLOX bot. The goal was simple: give the Indonesian Roblox community tools that feel native to Discord while keeping the bot lightweight enough to run 24/7 on modest hardware.
What’s New
- AFK System Members can now set a custom AFK message. The bot tags them with [AFK] mutes them in voice channels and when someone mentions an AFK user it DM’s the original message so nothing slips through the cracks.
- Custom Supporter Roles Boosters and other supporters can create their own roles picking colors icons and emojis. I added an automatic prune that runs every few hours to delete unused roles preventing the role list from exploding.
- Inactive Member Detection The bot monitors activity across all text and voice channels. If a member falls below a configurable activity threshold the bot flags them and sends admins a report with the last active timestamp.
- Booster Recognition Every boost now triggers a dynamic embed that shows the booster’s avatar how long they’ve been boosting and their boost level plus a personalized thank you note.
- Moderation and Permissions Ban unban and kick events are logged in real time with reasons timestamps and moderator IDs. I also rewrote the permission system to be role based making it easier to grant or revoke access to any bot feature.
- Feedback System Users can submit feedback directly through the bot. Each entry gets a unique ID sender info and timestamp and staff receive an instant notification so we can respond quickly.
- Tech Stack Upgrade I rebuilt everything on Node.js with discord.js v14 breaking the code into modular components using webhooks for embeds, ephemeral responses for private interactions and adding robust error handling.
Why I Built These Features
- AFK system came from countless moments where a player missed a crucial chat because they were away from keyboard. By auto tagging and forwarding messages we keep conversations flowing even during hectic gaming sessions.
- Custom supporter roles were a direct response to boosters asking for more visible recognition. The periodic cleanup was a trade off I accept a few seconds of extra CPU every few hours are better than a forever growing role list.
- Inactive detection gave admins the data they needed to re engage silent members before they drifted away. I set the threshold to be configurable so each server can decide what “inactive” really means for them.
- Booster recognition the dynamic embed not only says thank you it also shows the boost duration something I found missing in most bots. It’s a small morale boost that often encourages others to support the server.
- Moderation logs were built because I keep hearing “we have no record of why someone was banned.” Including moderator IDs and timestamps adds transparency and protects both staff and members.
- Feedback system solves the “where do I send ideas?” problem. Giving each submission a unique ID makes tracking and follow up painless.
How I Use It Daily
Whenever I’m on a voice call with the community I set my AFK status automatically if I step away and the bot mutes me and updates my nickname. If a booster joins a session I love watching the boost embed pop up. It’s an instant morale boost for the whole crew. I also skim the daily inactivity report each morning to see who might need a friendly ping.
Looking Ahead
The next milestones include AI driven event reminders deeper analytics dashboards and tighter integration with Roblox’s own APIs. Each iteration feels like we’re turning a simple helper bot into a full featured management system and that progress keeps me motivated to keep building.