19 |
|
|
20 |
### Features |
### Features |
21 |
|
|
22 |
- Strong automoderation system with tools like anti-spam and anti-raid |
- Strong automoderation system with tools like anti-spam and anti-raid ([Click here](https://onesoft-sudo.github.io/sudobot/automoderation/#what-can-the-bot-do) to see the full list) |
23 |
- Useful moderation tools |
- Useful moderation tools and utilities |
24 |
- Secure |
- Secure |
25 |
- Fun commands |
- Fun commands |
26 |
|
- Active development & support |
27 |
|
|
28 |
### Getting started |
### Getting started |
29 |
|
|
32 |
|
|
33 |
### Setup for Custom Hosting |
### Setup for Custom Hosting |
34 |
|
|
35 |
First, download the latest release or clone the repo by running: |
#### Requirements |
36 |
|
* NodeJS version 16 or higher |
37 |
|
* MongoDB version 5.0 or higher |
38 |
|
* A Discord API application token with proper setup |
39 |
|
|
40 |
|
#### Optional Services |
41 |
|
* Cat and dog API Token (for fetching cat and dog images using `cat` and `dog` commands, the tokens can be obtained at [thecatapi.com](https://thecatapi.com) and [thedogapi.com](https://thedogapi.com)) |
42 |
|
* Pixabay API Token (can be obtained [here](https://pixabay.com/api/docs/)) |
43 |
|
* A Discord Webhook URL for sending error reports |
44 |
|
* A JWT Secret for the API services (if you don't have an API secret, you can run `openssl rand -base64 10` to generate a random base64 string and use it as secret) |
45 |
|
|
46 |
|
### Setup steps |
47 |
|
|
48 |
|
1. Download the latest release or clone the repo by running: |
49 |
|
|
50 |
``` |
``` |
51 |
git clone https://github.com/onesoft-sudo/sudobot |
git clone https://github.com/onesoft-sudo/sudobot |
52 |
``` |
``` |
53 |
|
|
54 |
Then go inside the project directory, and run the following command: |
2. Go inside the project directory, and run the following command: |
55 |
|
|
56 |
``` |
``` |
57 |
npm install -D |
npm install -D |
58 |
``` |
``` |
59 |
|
|
60 |
Then open up the `config/config.json` file and change at least the following: |
3. Open up the `config/config.json` file and change at least the following: |
61 |
|
|
62 |
```json |
```json |
63 |
{ |
{ |
79 |
|
|
80 |
**Note**: `...` means other options that exist in the config, you can edit them to customize the settings, but not required. |
**Note**: `...` means other options that exist in the config, you can edit them to customize the settings, but not required. |
81 |
|
|
82 |
Build the project: |
> Alternatively, you can try the new `setup.js` installer script [BETA] by running `node setup.js`. It will ask you some questions about the configuration. |
83 |
|
|
84 |
|
4. Copy the `.env.example` file to `.env` and open it, edit the information (such as bot token. MongoDB URI, etc) as needed. |
85 |
|
|
86 |
|
5. Build the project: |
87 |
|
|
88 |
``` |
``` |
89 |
npm run build |
npm run build |
90 |
``` |
``` |
91 |
|
|
92 |
Deploy slash commands globally: |
6. Deploy slash commands globally: |
93 |
|
|
94 |
``` |
``` |
95 |
node deploy-commands.js |
node deploy-commands.js |
96 |
``` |
``` |
97 |
|
|
98 |
Start the bot: |
7. Start the bot: |
99 |
|
|
100 |
``` |
``` |
101 |
npm start |
npm start |
111 |
That should show the bot information. |
That should show the bot information. |
112 |
Congratulations! You've successfully set up your own instance of SudoBot! |
Congratulations! You've successfully set up your own instance of SudoBot! |
113 |
|
|
114 |
|
### Contributors |
115 |
|
|
116 |
|
Thanks to all the contributors! |
117 |
|
|
118 |
|
* [Ar Rakin](https://github.com/virtual-designer) |
119 |
|
* [killerclaws12](https://github.com/killerclaws12) |
120 |
|
|
121 |
### Support |
### Support |
122 |
|
|
123 |
- **Email**: [email protected] |
- **Email**: [email protected] |
124 |
- **Discord Servers**: [The Everything Server](https://discord.gg/Km7ZcfXT6P), [Support Server](https://discord.gg/892GWhTzgs) |
- **Discord Servers**: [The Everything Server](https://discord.gg/Km7ZcfXT6P), [Support Server](https://discord.gg/892GWhTzgs) |
125 |
|
|
126 |
|
### Extra |
127 |
|
|
128 |
|
- **Dashboard**: The dashboard for SudoBot can be found [here](https://github.com/onesoft-sudo/sudobot-dashboard) |