AlterBot is an open-source, modular Discord bot built using Discord.js. Designed to be simple, flexible, and extendable with minimal effort — perfect for community servers, developer learning, or adding your own features quickly.
- 🔌 Modular command system (/modules)
- 💬 Slash command support
- 🧠 Interactive and admin-only features (like bot status control)
- 📂 Auto-generated config on first run
- 🧪 Built-in intent tester and CLI command interface
npm installRun the bot once to generate config.json:
node bot.jsYou'll see:
{
"token": "",
"clientId": "",
"guildId": ""
}Edit the file and add your bot's credentials from the Discord Developer Portal.
|Field|Description||------------|---------------------------------------------------||token|Yourbottoken||clientId|TheApplication(Client)ID||guildId|(Optional)TestserverIDforfasterdevcommands|node bot.jsThe bot will load modules from the modules/ folder, register slash commands, and log in.
Modules go in /modules and support both slash commands and event-based code.
// modules/ping.jsconst{ SlashCommandBuilder }=require("discord.js");module.exports={data: newSlashCommandBuilder().setName("ping").setDescription("Replies with Pong!"),asyncexecute(interaction){awaitinteraction.reply("🏓 Pong!");},};// modules/onReady.jsmodule.exports={asyncinit(bot){bot.once("ready",()=>{console.log(✅Botisreadyas \${bot.user.tag});});},};/botstatus set type:Playing message:"Hello World" status:onlineOr use scrolling statuses:
/botstatus scroll type:Watching messages:"Server 1,Server 2,Server 3" interval:10To stop scrolling:
/botstatus stopscrollPull requests are welcome! To contribute:
- Add new features as modules in /modules
- Use SlashCommandBuilder for commands
- Use .init() for background/event logic
- Follow the existing file structure and code style
This project is licensed under the MIT License.
Made with ❤️ by Basper' > README.md