Skip to content

BerkaySevinc/discord-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Discord Bot

Discord Bot written in Node.js with a modular, file-based architecture. A feature-complete guild management bot with welcome/leave messages, server stats display, moderation tools, and a flexible command framework with per-guild settings.

⚠️ This project uses discord.js v12, which is EOL and no longer maintained. It may stop working at any time due to Discord API changes.


Features

  • Welcome & leave messages — configurable per guild via an interactive setup; supports {user}, {server}, and {member count} placeholders.
  • Server stats display — creates a dedicated category with voice channels showing member count, online member count, bot count, and server age; auto-updates every 5 minutes.
  • Per-guild prefix — each guild can set its own command prefix; falls back to the global default.
  • Moderation tools — ban, kick, mute/unmute, bulk message delete, and channel nuke.
  • Announcement tools — send plain text or colored embed messages as the bot, optionally to a different channel.
  • Cooldown system — per-command cooldown with in-progress tracking to prevent duplicate executions.
  • Permission checks — guild-only, creator-only, and Discord permission-based access control per command.
  • Console chat — send messages to a Discord channel directly from the terminal while the bot is running.
  • SQLite database — all guild settings are persisted locally via Sequelize; the database is initialized automatically on first run.

Details

  • Written in Node.js with a modular file-based structure — commands and events are auto-registered by scanning folders at startup.
  • Uses discord.js v12⚠️ EOL and unmaintained.
  • Uses Sequelize v6 with sqlite3 v5 for local data persistence.
  • Sensitive values (bot token, creator ID) are not stored in source code and must be provided via utils/config.js before running.

Commands & Events

General

Command Description Permission
ping Shows bot and API latency.
uptime Shows how long the bot has been online.
avatar Shows the avatar of the mentioned user, or your own.
avatar server Shows the server icon.

Moderation

Command Description Permission
ban Bans the mentioned member. Ban Members
kick Kicks the mentioned member. Kick Members
mute Mutes the mentioned member by assigning the Muted role. Creates the role if it doesn't exist. Manage Roles
unmute Removes the Muted role from the mentioned member. Manage Roles
clear <amount> Bulk deletes up to 100 messages in the current channel. Manage Messages
nuke Deletes and recreates the current channel, preserving its name and permissions. Manage Messages
say [#channel] <text> Makes the bot send a plain text message. Optionally targets a different channel. Manage Messages
embed [@color] [#channel] <text> Makes the bot send a colored embed. Supports a custom color prefix and an optional target channel. Manage Messages

Setup — Prefix

Command Description Permission
prefix Shows the current prefix and available prefix commands. Manage Guild
set prefix <new> Sets a new prefix for the guild. Manage Guild
reset prefix Resets the prefix back to the default. Manage Guild

Setup — Welcome Message

Command Description Permission
welcome message Shows the current welcome message status. Manage Channels
setup welcome message Starts an interactive setup for the welcome message and channel. Manage Channels
remove welcome message Disables the welcome message. Manage Channels

Setup — Leave Message

Command Description Permission
leave message Shows the current leave message status. Manage Channels
setup leave message Starts an interactive setup for the leave message and channel. Manage Channels
remove leave message Disables the leave message. Manage Channels

Setup — Server Stats

Command Description Permission
stats Shows the current server stats configuration. Manage Channels
setup stats Starts an interactive setup to enable/disable individual stats (member count, online count, bot count, server age). Manage Channels
remove stats Removes all stats channels and the stats category. Manage Channels

Creator Only

Command Description
bot shutdown Shuts down the bot process.
console chat Opens or closes a live chat session between the terminal and a Discord channel.
invite Sends the bot invite link.

Events

Event Description
ready Syncs the guild database and starts all background updaters on startup.
guildMemberAdd Sends the configured welcome message when a member joins.
guildMemberRemove Sends the configured leave message when a member leaves.
message Parses and dispatches prefix-based commands.
messageUpdate Reserved for message edit logging.
messageDelete Reserved for message delete logging.

Media

Screenshot 1

Releases

No releases published

Packages

 
 
 

Contributors