CATH.EXE
> This is a Bot Template based on Cath.exe, This templated **does not** conatain any data from Project Lighthouse.
>For Call of duty mobile stats, Please invite the main instance using the **INVITE ME** badge.
**Cath.exe** is a Multipurpose Discord Bot with many features that include but are not limited to Moderation, Music and Economy. The Call of Duty Stats are courtesy of [**Project Lighthouse**](https://discord.gg/ARNFCu9NxK) by [**Path.exe**](https://www.youtube.com/channel/UC0hvUWYhyx_DOEBzLWEJxsw).
If you like this bot, feel free to **Star** and **fork** this repository.
[![inviteme](https://badgen.net/badge/Invite%20Me/Online/5865F2?icon=discord&color=5865F2&style=for-the-badge&scale=1.4)](https://discord.com/oauth2/authorize?client_id=800966959268364288&permissions=4231314550&scope=bot%20applications.commands)
[![Support Server](https://img.shields.io/discord/718762019586572341?label=Support%20Server&logo=Discord&colorB=5865F2&style=for-the-badge&logoColor=white) ](https://discord.gg/SR7TeNJG67)
![Repo Stars](https://img.shields.io/github/stars/night0721/cath.exe?logo=github&color=5865F2&style=for-the-badge)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg?colorB=5865F2&style=for-the-badge)](https://github.com/night0721/cath.exe/blob/main/CODE_OF_CONDUCT.md)
## Build with:
[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
[![node](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/en/)
[![npm](https://img.shields.io/badge/npm-CB3837?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/)
[![MongoDB](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=mongodb&logoColor=white)](https://mongodb.com/)
Deployment
## Deploy Online
[![Run On Replit](https://img.shields.io/static/v1?label=Run%20On&message=Repl.it&color=5865F2&logo=replit&logoColor=white&style=for-the-badge&scale=1.4)](https://repl.it/github/night0721/cath.exe)
[![Deploy On Heroku](https://img.shields.io/static/v1?label=Deploy%20On&message=Heroku&color=5865F2&logo=heroku&logoColor=white&style=for-the-badge&scale=1.4)](https://heroku.com/deploy?template=https://github.com/night0721/cath.exe)
## Deploy Locally
### Prerequisite
Download all these programs on your local machine by clicking on the badge & following the standard installing procedure. You can use any IDE but we recommand VS Code.
[![git](https://badgen.net/badge/icon/git?icon=git&label&color=5865F2&style=for-the-badge&scale=1.4)](https://git-scm.com/downloads)
[![Open in Visual Studio Code](https://img.shields.io/badge/Visual_Studio_Code-5865F2?style=for-the-badge&logo=visual%20studio%20code&logoColor=white)](https://code.visualstudio.com/Download)
[![node](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/en/download/)
### Step by Step Walkthrough
###
1. Clone this repository
```cmd
git clone https://github.com/night0721/cath.exe
```
2. Rename the [`.env.example`➚
](https://github.com/night0721/cath.exe/blob/main/.env.example) file into `.env`.
3. Create an application from Discord Developer's Portal then copy these things into the `.env` file.
[![Open Discord Developer Portal](https://badgen.net/badge/icon/discord?icon=discord&label=Developer%20Portal&color=5865F2&style=for-the-badge)](https://discord.com/developers/applications)
- **Bot Token** (TOKEN)
- **Application ID** (CLIENT_ID)
- **Client Secret** (CLIENT_SECRET)
4. To view the logs, Create 5 Channels & 5 Webhooks in a **Discord Server** corresponding to these logs.
- **Server Log** (Log new Server Added/Premium Server)
- **Error Log** (Log Unhandled Rejection Error)
- **Ready Log** (Log when bot online)
- **Command Log** (Log command usage)
- **DM Log** (Log when someone send DM to Bot)
>You can also just use one Channel & one Webhook for everything but it will be really inconvenient.
5. One by one paste the webhook url in a web browser & copy the **ID** & the **TOKEN** and paste it in the corresponding feilds in the `.env` file.
6. Setup the **MongoDB Database** as [instructed](https://github.com/night0721/cath.exe#mongo-db-setup) below.
7. Setup a **Spotify Application** as [instructed](https://github.com/night0721/cath.exe#spotify-setup) below.
8. Go back to the Discord Developer's Portal in the OAuth2 tab, Select `BOT` in the **Scopes Section** & Select `ADMINSTRATOR`from the **BOT PERMISSIONS** Section.
9. Copy the URL and by using the URL invite the bot to a server.
10. After this, you need to install all dependencies by using this command. This will takes a few minutes.
```cmd
npm i
```
11. Now, to start the bot use this command in the terminal.
```cmd
node .
```
# Additional Steps
## Mongo DB Setup
To use the Economy Commands, you need to Setup a MongoDB Database.
1. Create a Free [MongoDB Account](https://www.mongodb.com/cloud/atlas/register)
2. Click on the `Create a New Database`.
3. Selct the `CREATE` option in the **Shared** Teir.
4. Select a `Cloud Provider & Region` that is geographically closer to the average user that will use the bot. *This will effect the responce time of the bot.*
5. Then you can Name your Cluster, after that click on `Create Cluster`. *This should take a couple of minutes.*
6. Then click on `Database Access` from the sidebar & then click on `Add New Database User`.
7. Under the `Password - Authentication Method`. Enter a username & password. then click on `Add User`.
8. After that, click on `Network Access` from the sidebar & then click on `Add IP Address`. & click on the `Allow Access from Anywhere` Then click on `Confirm`.
9. now, Click on `Database` from the sidebar & then click on `Connect`.
10. Then on click on `Connect your Application`. & Copy the link.
11. The paste that link in the `MONGODB` feild in the `.env` file.
12. Now you need to modify that link,
- Replace `` with the password for the user that you created in **Step 7**.
- Replace `myFirstDatabase` with the name of the Database that you named in **Step 5**.
13. That's it.
## Spotify Setup
To use spotify urls to play music follow these steps.
1. Go to the [**Spotify's Developer Dashboard**](https://developer.spotify.com/dashboard/).
2. Click on **Create an app**.
3. Fill out the required info, then click on **CREATE**.
4. Copy the **Client ID** & paste it in the `SPOTIFY_ID` feild in the `.env` file.
5. Back in the Dashboard, Click on **SHOW CLIENT SECRET**
6. Copy the **Client Secret** & paste it in the `SPOTIFY_SECRET` feild in the `.env` file.
7. That's it.
# Support, Feature Request & Bug Reports
## Support & Feature Request
Join the official [Support Server](https://discord.gg/SbQHChmGcp) on Discord & we will be happy to assist you.
To Request new features contact us on Discord using the support server.
## Report Bugs
You can report bugs or issues by opening a issue in this repository. Alternatevely you can also contact us on Discord using the support server.
[![Support Server](https://img.shields.io/discord/718762019586572341?label=Support%20Server&logo=Discord&colorB=5865F2&style=for-the-badge&logoColor=white) ](https://discord.gg/SR7TeNJG67)
CONTRIBUTORS
Contributions are always welcomed, but make sure to read [Contributing.md](/CONTRIBUTING.md) first.