A multipurpose Discord bot built with discord.js v13
Keplar is a personal Discord bot project that is constantly expanding. The purpose of this bot is to be a bot for use by my friends and I in our own private Discord servers. With that in mind, this bot was coded assuming it would only be used for private server use. This means the bot has no formal permission handling (e.g. everyone
, administrator
, moderators
, etc.), or automated commands (e.g. auto roles
, command disabling
, etc.).
Keplar is an ongoing project of mine and it is still under active development at the moment.
I don't intend to advertise Keplar or get people to add it to their servers, as this is just a project. However, if you want to use Keplar, my recommendation is to download the source code (.zip), or clone the repository to make this a local bot on your computer. Feel free to modify the source code to your liking.
⚠ Note: There is a secondary branch, keplar-old-framework
, which used to be the original main branch (w/ over 120 commits and featured 12+ commands). I do not recommend downloading that since it is on a roughly designed framework. The current main
branch has a much better framework and is where all active development will be committed to.
If you end up downloading, cloning, or you simply like this repository, leaving a star ⭐ is much appreciated!
Every single command is supported with slash commands as well as prefix-based. Note: Some commands will have several options to them to allow for different types of requests.
- 🎮 Fun: Several fun commands such as
8ball
,advice
, andcoinflip
- 📷 Images: Commands that return an embedded image include
cat
,meme
,pokemon
, andxkcd
- 🎶 Music: Play tunes and more:
play
,currentSong
,lyrics
,shuffle
,volume
, and 6 more! - 💰 Cryptocurrency: Get current crypto market statistics with
crypto
- ❔ Info: Commands include
info
,ping
, andstats
for general server and bot information - 🔧 Utility: For general utility
clear
, andrng
- 🪀 Misc: Get the definitions of words with
define
, andstats
This bot is still in very early development. More commands will be added in the future, with support for both slash, and prefix commands.
To set up Keplar for local host on your computer, you must create a config.json
file in the root of the repository's directory. This file should be set up similarly to the example given below. Note: You can change the prefix from !
to whatever you want.
{
"token": "BOT-TOKEN",
"prefix": "!",
"mongooseConnectionString": "MONGODB-CONNECTION-STRING",
"singleGuildId": "SERVER-ID",
"apiKeys":
{
"key-1": "API-KEY-1",
"key-2": "API-KEY-2"
}
}
In terms of how to acquire a bot token, mongoDB connection string, or external api keys, I recommend searching the internet (Google, or YouTube) for in-depth guides. There are a lot of detailed guides on getting a Discord bot set up either locally or on a host site. Example Guide
Other things to install include:
- Visual Studio Code (Optional - any IDE of your choice works)
- Node.js v16+ (Required)
- Discord.js v13+ (Required)
As previously mentioned, Keplar is in active development and will get more updates in the future.
Some ideas in the works include:
- Database (MongoDB) setup for the collection and storage of information
- Permissions Handler
/clear | /crypto cryptocurrency: | List of commands |
/pokemon | /pokemon index: | /pokemon name: |
This project is released under the GNU GPL v3 license. Official Site.
Some of the things I learned from this project include:
- Parsing JSON files and data using built-in JS and NPM Got
- Understanding GET and POST HTTP methods
- Reading and understanding documentation for packages and libraries
- Using and implementing 3rd party API's
- Securing API tokens, keys, and passwords (using both .env and .json files)
- Advanced Git: removing specific commits from history, cherry picking, squashing, branches