Skip to content

Repository files navigation

Midnight

Server Public bot built with Discord v14 version, integrated with slash and prefix commands

node version: 22.20.0

Usage:

Operating path:

Libs install : npm start

Slash commands load : npm start

Start command : npm start

Bot and web panel start command : npm run all

To enter bot settings, create an .env file, there is an example .env file named .env-example in the project.

TOKEN = 
BOT_ID = 
PREFIX = 
MONGO_URI = 
GEMINI_API_KEY = 

Create config.json file and set permission settings:

{
    "BOT_OWNER_IDS": [], // safe bot owner ids
    "DEVELOPMENT_MODE": false,
    "AUTO_SLASH_COMMAND_DEPLOY": false,

    "ACTIVITY_NAME": "only Miguel",
	"ACTIVITY_TYPE": 3,
	"ACTIVITY_STATUS": "idle",


    "AI": {
		"ReplyCommand": true, // .ai Hello!
		"ReplyWrapper": false // @reply Hello!
	}
}

contents: Bot Commands

command comment values situation
yaz This command allows you to write from the bot text stable
client-load Client emoji load emoji, emoji name stable
client-list Client emoji load emoji stable
eval command test text stable

contents: General User

command comment values situation
help helps user .. un-stable
ai chat with ai message stable
pull Pulls the tagged user user stable
where Show your user user stable
go Goes to the user you were tagged in user stable
afk AFK mode reason stable
avatar Shows user avatar user stable
server-avatar gets server avatar .. stable
server-banner gets server banner .. stable
device Shows user device user stable
use Spotify, etc.. theme change spotify, item stable

contents: Mod

command comment values situation
ban Ban the user user -ticket, id- stable
unban Unban the user user id stable
forceban Force ban the user user id stable
unforceban Unforceban the user user id stable
godban Banning from shared servers user or user id stable
ungodban Unbanning from shared servers user or user id stable
ban-list Ban list user id stable
kick Kick the user user -ticket, id- stable
mass-ban Mass ban users users stable
vmute Throws voice mute on tagged user user, second -exp. 10m -, reason stable
vunmute Unmute user, reason stable
mute Throws chat mute on tagged user user, reason stable
unmute user unmute for chat user, reason stable
nuke Refreshes the channel channel stable
snipe Shows last deleted message .. stable
lock lock to Chat .. stable
allvmute Mutes all user in channel channel stable
allvunmute Unmutes all user in channel channel stable
timeout Add emoji to guilds user, time stable
untimeout removes user timeout user stable
addemoji Add emoji to guilds emoji or url, name stable
giverole Gives the user user, role stable
removerole Takes the user user, role stable
clear Deletes messages amount stable
streamer Gives streamer role user stable
vip Gives vip role user stable
photo Gives photo role user stable
tag Sets the server tag .. stable
sesgir Join voice channel channelId stable
sescik Leave voice channel .. stable
say Guild information ... stable
nick Change user, user nick name history user, name stable
rollog Show user roles history user stable

contents: Staff

command comment values situation
tasks staff tasks me, user stable
yetkibaslat start staff me, user stable
yetkililerim staffs of moderation user .. stable
topyetkili top staff .. stable
punish user gives punish user, reason stable
warn user gives warn user, reason stable
jail user gives jail user, duration, reason stable
record record of user user stable
register Saves the user you tagged in user, name, age stable
unregistered Gives the user user stable

contents: Stat and Level, Invite

command comment values situation
top shows server top stats, levels, invites .. stable
stat shows user statics, level, invites self, user stable

contents: Setting and Setup

command comment values situation
settings Adjusts bot settings options, role, channel, user, value stable
authority Adjusts authorities settings options, role, user, value stable
modlog Adjusts modlog settings options, role, value stable
komutpanel authority ones command systems .. stable
ticket-setup creates embed tickets .. stable
room-setup private room creater .. stable
confession-setup people are open or anonymous confessors channel stable
booster-panel-setup booster is special feature .. stable

contents: Economy

command comment values situation
shop shop marketplace .. stable
cash users cash .. stable
cookie users give to cookie daily user stable
buy buy item item id stable
fosterling adoption order user stable
fosterleave user leave .. stable
fosterdismiss kick user user stable
family show family .. stable
sell sell item item id, amount stable
daily daily moeny .. stable
heart users give to heart daily .. stable
marry users marries user, ring item id stable
divorce user divorce .. stable
send users send money user, money stable
envanter users envanter .. stable
profile users profile .. stable

contents: Fun and Game

command comment values situation
spotify .. me, user stable
ship ships user stable
slot game bet amount stable
rulet shows server rules user, bet amount stable
xox shows server rules user, bet amount stable
gofishing take fish bet amount (1 userly), user and bet amount (userly) stable
blackjack blackjack bet amount stable
kiss kiss user user stable
slap slaps user user stable
hug hugs user user stable
fuck fxck user user stable

events:

feature comment set command
otorole Gives automatic roles to users Can be set with the /settings Auto Role command

libs uses:

Helper Comment Use
themeBuilder A newer and more colorful message enrichment class than Message Sender. new themeBuilder()
Core The bot's framework—including various command and event-handling snippets, as well as the deploy commands—is located here. new Core()

Permission Manager functions and uses:

Function Values Use
.control() Checks the permissions and returns true accordingly. .control(...flags)
.isOwners() .. Returns true if there is an id equal to the specified id.
.isRoles() ... Returns true if there is an id equal to the specified id.
.isAuthority() authorities .isAuthority(userId, new PermissionManager().flags.Administrator)
.isGuildOwner() .. Returns true if the user using the command is the owner. PM.isGuildOwner()
.selectOwnerIds() ..userIds Returns true if the user using the command is the users. PM.selectOwnerIds(userId)

| helpers functions and uses:

Helper Comment Use
utils You can handle fetching a user or channel with a single function within the utils class. new Utils()
messageSender Helps with responsiveness and rich embed creation new messageSender()
loaders This file contains the commands, events, and deployment code. Everything is modular. new messageSender()
misc Contains many auxiliary functions misc.callFunction()
components A class that makes the components offered by Discord Js more useful new Button(), new Modal()

Authority command inside object keys

permissions: {
    enabled: true // default true
    authorities: [],
    user: [],
    roles: []
}

Easy access through shared use: Manager class

import Manager from '#managers';

const manager = new Manager(client, { action: interaction || message  })

await manager.authority() // Access to permissionManager class
await manager.authority.control() // Access to permissionManager class
await manager.authority.flags() // Access to permissionManager class to FLAGS


await manager.theme.embedThemeBuilder() // Access to themeBuilder
await manager.sender.reply() // Access to messageSender


await manager.utils // Access to utils class

await manager.theme.themes // Access to themes
await manager.theme.colors // Access to colors

await manager.audit // Access to AuditLogEvents

await manager.config // Access to config.json


const manager = new Manager(
    client, 
    {   
        action: interaction || message, 
        authority: { action: // It can also take action internally, in a specific way. }, 
        theme: {}, 
        utils: {}, 
        sender: {}  
    }
)

Example theme builder class: themeBuilder

import { themeBuilder } from '#libs'
import { themes } from '#data'

const tb = new themeBuilder(unkown) // interaction || message

const theme = tb.embedThemeBuilder(themes.success, {
  action: false,
  author: tb.getNameAndAvatars("guild"),
  description: "example",
  footer: tb.getNameAndAvatars("user")
})

tb.send({embed: theme, id: "channel id"})

tb.send({embed: theme, reply: true}) // reaction: reply
tb.send({embed: theme}) // reaction: message in channel

// action is true
theme.reply() 
theme.send()

Example theme builder class: messageSender

import { messageSender } from '#helpers'

const sender = new messageSender(unkown); // interaction || message

sender.embed({
    title, 
    description, 
    image, 
    thumbnail, 
    fields, 
    author, 
    color, 
    footer, 
    timestamp
})

sender.classic(text)
sender.errorEmbed(text)

sender.send()
sender.send(embed, channelId, components)

sender.reply(content, userSees, components)
sender.reply()

About

Public server Discord bot: Fun, Moderation, Register, Level, Economy, Stat, Invite.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages