Skip to content

Discord JS 13.0 bot with Akairo framework

License

Notifications You must be signed in to change notification settings

StrangerGithuber/Roomba-V2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Roomba V2 (Dev Version)

Roomba V2 is a discord bot based on multiple librairies.
The bot contains multiple moderation commands as well as music commands and other misc...

Librairies

Discord JS V13 Discord Akairo Discord Music Player Mongo DB (mongoose)
https://discord.js.org/#/ https://discord-akairo.github.io/#/ https://discord-music-player.js.org/ https://www.mongodb.com/fr-fr

Architecture

client
   └── src
       ├── commands
       │   ├── dev
       │   │   ├── eval.js
       │   │   ├── restart.js
       │   │   └── updateAll.js
       │   ├── infos
       │   │   ├── serverinfo.js
       │   │   └── userinfo.js
       │   ├── misc
       │   │   ├── help.js
       │   │   ├── ping.js
       │   │   ├── prefix.js
       │   │   └── setting.js
       │   ├── moderation
       │   │   ├── ban.js
       │   │   └── kick.js
       │   └── music
       │       ├── loop.js
       │       ├── nowPlaying.js
       │       ├── pause.js
       │       ├── play.js
       │       ├── playlist.js
       │       ├── progression.js
       │       ├── shuffle.js
       │       ├── skip.js
       │       ├── stop.js
       │       └── volume.js
       ├── index.js
       ├── inhibitors
       │   ├── blacklist
       │   │   ├── channelBlacklist.js
       │   │   ├── guildBlacklist.js
       │   │   ├── userGlobalBlacklist.js
       │   │   └── userGuildBlacklist.js
       │   └── enabledModules
       │       └── musicModule.js
       ├── listeners
       │   ├── client
       │   │   ├── guildCreate.js
       │   │   ├── guildDelete.js
       │   │   ├── guildMemberAdd.js
       │   │   ├── guildMemberRemove.js
       │   │   └── ready.js
       │   └── commandHandler
       │       ├── commandBlocked.js
       │       ├── cooldown.js
       │       └── missingPermissions.js
       ├── logger
       │   ├── BaseLogProvider.js
       │   ├── LogProviders.js
       │   └── MusicLogProvider.js
       ├── structures
       │   ├── Models.js
       │   ├── MusicPlayer.js
       │   ├── Providers.js
       │   └── RoombaClient.js
       └── util
           ├── canvasFunctions.js
           ├── colors.js
           ├── config.js
           ├── functions.js
           └── musicPlayerEvents.js

Bot Custom Colors

Name Hex C
darkpurple #9400D3 #9400D3

Environment Variables

You need to rename the .env.example to .env and fill in the information. Open the .env file with a text editor and ou can give the information without string if there is no space between the data otherwise you can put in string, such as "Something".

CLIENT_TOKEN can be found in the discord developper section : Here
CLIENT_ID can be found in the discord developper section : Here
MONGO_STRING can be found when you create your mongoDB cluster : Here
OWNER_ID can be found when right clicking on your account on discord with developer settings activated
PREFIX you can give a default prefix which will be added into database
GUILDSLASH you can give a guild/server ID which allows you to test or limit to specific guild/server the slash commands. If you delete the value then the slash commands will be added globally (it can take between 1-2 hours to see the changes if slash commands are used globally)

Run Locally

Clone the project from github

  sudo git clone https://github.com/AlexArtaud-Dev/Roomba-V2

Go to the project directory

  cd Roomba-V2/

Install dependencies

  sudo npm install

Start the server with node

  sudo npm run start

Start the server with nodemon

// Install nodemon
  sudo npm i nodemon -g

// Run with nodemon
  sudo npm run dev

Start the server with pm2

// Install pm2
  sudo npm i pm2 -g

// Run with pm2  
  sudo npm run devmod

Stop pm2 server

  sudo npm run stop

Roadmap

  • Add more commands

  • Add slash commands

  • Add language config file to swap between languages

  • Add theme config file

Optimizations

  • Created a sub-class MusicPlayer that extend Player to make the events handled automaticaly on creation
  • Created Log Provider with extended class to generate custom log outputs inside console and inside database, sorted by type
  • Splitted mongoose models into differents files

License

MIT

Authors

Support

For support, dm me on discord |Alex|#3227.

About

Discord JS 13.0 bot with Akairo framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published