- Application Commands, Buttons, and Message Embed
- AI Chatbot (powered by Google)
- Moderation Logs (stored using MongoDB)
- Third Party API commands (such as Giphy, Nasa, Wikipedia and more!)
- Watch Together (with YouTube Activity)
Fun | Moderation | Utility |
8ball, achievement, beep, coinflip, color, compliment, diceroll, fact [cat | dog | general | useless], fortnite, giphy, hypixel, leagueoflegends, lyrics, meme, minecraft, nasa, pokemon, rps, say, spotify, urban, waifu, word, youtube | ban, channel [delete | lock | rename | unlock], deafen, kick, logs [add | initialize | view], purge, role [add | remove], setnick, slowmode, timeout, unban, undeafen, untimeout, warn | afk, announce, botpresence, botsetnick, calculator, crypto, dictionary, gemini, github, guildrename, help, info [channel | client | guild | role | user], invite, leave, message, news, npm, ping, qrcode, thread, weather, wikipedia |
Node.js version ≥20.9.0 is required
@google/[email protected] | [email protected] |
[email protected] | [email protected] |
[email protected] | [email protected] |
[email protected] | [email protected] |
[email protected] |
- Clone this repository to your local drive
git clone https://github.com/yewshanooi/sodium.git
cd sodium
- Install the required npm packages
npm install
- Install the nodemon npm package globally
Note
Ignore this step if you already have nodemon installed
npm install -g nodemon
- Create a new file named config.json and fill it with your own information
Warning
The embedColor field is required
{
"embedColor": ""
}
- Create a new file named .env and fill it with your own variables
Warning
The TOKEN, MONGODB_TOKEN, CLIENT_ID, and GUILD_ID fields are required, while the rest are optional. With missing fields, certain features might not work as intended
TOKEN=
MONGODB_TOKEN=
CLIENT_ID=
GUILD_ID=
DEBUG_CHANNEL_ID=
ERROR_CHANNEL_ID=
WARNING_CHANNEL_ID=
FORTNITE_API_KEY=
GENIUS_API_KEY=
GIPHY_API_KEY=
GOOGLE_API_KEY=
HYPIXEL_API_KEY=
NASA_API_KEY=
NEWS_API_KEY=
OPENWEATHERMAP_API_KEY=
RIOTGAMES_API_KEY=
- Run the commands.js file to deploy or delete application commands
Important
Commands are only deployed or deleted for a single guild by default. You can deploy all commands or a single command, but you can only delete all commands
node commands.js deploy -or- node commands.js deploy {command}
node commands.js delete
- Run the index.js file to start the bot
Warning
Don't forget to deploy commands before starting the bot, otherwise commands won't appear as they are not updated
node index.js -or- npm start -or- nodemon
-
Visit Discord Developer Portal to create a new application
-
Enable
PUBLIC BOT
authorization flow option for the bot (OPTIONAL) -
Enable
PRESENCE INTENT
andSERVER MEMBERS INTENT
privileged gateway intent options for the bot (REQUIRED) -
Paste this OAuth2 URL template in your browser's address bar and replace
{CLIENT_ID}
with your Client ID to invite the bot to your guild
https://discord.com/api/oauth2/authorize?client_id={CLIENT_ID}&permissions=1497295481975&scope=bot%20applications.commands
This application is licensed under the MIT License
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.