danloe / Botterino

A discord bot for music, games and more...
MIT License
0 stars 0 forks source link
bot discord discord-bot discord-js discordjs games music node-js nodejs
[![Release][release-shield]][release-url] [![Issues][issues-shield]][issues-url] [![Typescript][typescript-shield]][typescript-url] [![DiscordJS][discordjs-shield]][discordjs-url] [![MIT License][license-shield]][license-url]

Botterino Photo

« Botterino »

A discord bot for music, games and more...

Report Bug :small_red_triangle: Request Feature :small_red_triangle: View Project

Table of Contents
  1. Features
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing

Features

Screenshots
Botterino YouTube Botterino Trivia
Botterino Playlist Botterino SoundCloud Botterino Queue
Botterino Challenge Botterino FourWins
Botterino About Botterino TicTacToe

Getting Started

Follow these steps to get the bot up and running.

Prerequisites

NodeJS npm

npm comes with nodejs, update with the following command:

npm i -g npm@latest

install ffmpeg and add it to the PATH environment variable[^ffmpeg]

[^ffmpeg]: required for playing unsupported audio sources

ffmpeg

Installation

  1. Clone this repo for the latest changes or download the latest release

  2. Install the required npm packages

    Run the following command in a terminal in the repo folder:

    npm i
  3. Rename the file .env.example to .env in the root directory

    BOT_TOKEN="YOURTOKEN"
    GOOGLE_API_KEY="YOURKEY"
    SPOTIFY_CLIENT_ID="YOURCLIENTID"
    SPOTIFY_CLIENT_SECRET="YOURCLIENTSECRET"
    PORT=53134
  4. Replace YOURTOKEN with your Discord Bot Token

  5. (optional) Replace YOURKEY with your Google API Key for YouTube Data API v3[^googleapi] [^googleapi]:required for playlist search; free for up to 10,000 searches per day

  6. (optional) Replace YOURCLIENTID and YOURCLIENTSECRET with your Spotify API Credentials[^spotifyapi] [^spotifyapi]:required to search for spotify content; free of charge for appropriate, rate limited use

  7. (optional) Change the PORT for the webserver as desired

  8. Add the bot to your server via the OAuth2 > URL Generator. Select bot as scope and insert the permissions integer in the GENERATED URL

Minimum permissions integer:[^permissions]

294242221120

[^permissions]: required for full bot functionality

Usage

Run the bot

Run the start.bat file to start the bot in a terminal

or

run the following command in a terminal:

npm start

Deploy guild slash commands

Enter your Discord client id as hostUserId in the config.json file.

To find your client id: Discord Settings > Advanced > Enable Developer Mode. Then right-click yourself and choose Copy ID.

Guild slash commands are only available in the guild in which they were deployed, but are available immediately.

Send the following messages in a guild text channel.

Deploy slash commands to guild:

>deploy

Delete slash commands from guild:

>clearcommands

Deploy application slash commands

Application slash commands are available in all guilds. It may take some time until the commands are available.

Run the following commands in a terminal to deploy or delete:

npm run deploy
npm run clear

Roadmap

Have a look at the Project or Milestones.

Contributing

Suggestions for extensions or improvements are very welcome.

Pull requests are also welcome. For major changes, please open an issue first to discuss what you would like to change.