Skip to content

Latest commit

 

History

History

barry

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Banner Barry

Build Coverage Contribute License

Barry - A Versatile Discord Bot

Barry is a versatile and user-friendly Discord bot designed to assist and enhance the workflow of creatives.

Add Barry

Table of Contents

Features

  • Leveling: Reward your members for being active in your server.
  • Marketplace: A place where your community can request and offer services.
  • Moderation: A set of easy-to-use tools to help you moderate your server.
  • Starboard: A place to share the best content from your server.
  • Welcomer: Welcome new members to your server with a custom message.
  • Utilities: A set of useful tools to help the workflow of your community.
  • Customizable: Barry is highly customizable and can be configured to fit your needs.
  • And more!: Barry is constantly being improved with new features.

Installation & Usage

Run using Docker (preferred)

Prerequisites

  • Docker
  • Git (if you haven't installed it already)

Step 1: Clone the Repository

git clone https://github.com/HeadTriXz/Barry.git

Step 2: Configure the Bot

  1. Rename the .env.example file to .env.
  2. Open the .env file and set the values of the required environment variables mentioned in Configuration.
  3. Customize other settings in the .env file if desired.

Step 3: Start Barry

docker compose up -d

Run using NPM

Prerequisites

  • Node.js (version 20 or later)
  • Git (if you haven't installed it already)

Step 1: Clone the Repository

git clone https://github.com/HeadTriXz/Barry.git

Step 2: Install Dependencies

npm install

Step 3: Build Barry

npx turbo run build --scope="barry"

Step 4: Configure the Bot

  1. Rename the .env.example file to .env.
  2. Open the .env file and set the values of the required environment variables mentioned in Configuration.
  3. Customize other settings in the .env file if desired.

Step 5: Start Barry

npm start

Configuration

How to obtain a Discord bot token?

  1. Visit the Discord Developer Portal, and create a new application by clicking the New Application button.
  2. On the left menu, click Bot and then Add Bot to create a bot account for your application.
  3. Now create a new token by pressing Reset Token, and then Copy to copy it to your clipboard. This will be needed for the DISCORD_CLIENT_ID environment variable.

Warning Never share your token with anyone.

Environment Variables

The following environment variables must be set in order to run the application:

Environment Variable Description
DISCORD_CLIENT_ID The ID of your Discord application.
DISCORD_TOKEN The token of your Discord bot.
POSTGRES_HOST The hostname or IP address of the database. (default: localhost)
POSTGRES_PORT The port of the database. (default: 5432)
POSTGRES_DB The name of the database.
POSTGRES_PASSWORD The password for authenticating with the database.
POSTGRES_USER The username for authenticating with the database.
REDIS_HOST The hostname or IP address of redis. (default: localhost)
REDIS_PORT The port of redis. (default: 6379)

The following environment variables are optional:

Environment Variable Description
SENTRY_DSN The DSN of a project in Sentry.
DEVELOPER_USERS A comma-separated list of user IDs that have full control over the bot.
DEVELOPER_GUILDS A comma-separated list of guild IDs that can be used for testing.
MODERATOR_GUILDS A comma-separated list of guild IDs that can moderate the marketplace.

Contributing

Contributions, bug reports, and feature requests are welcome! Please refer to the contribution guidelines for detailed information on how to contribute to the project.

Even if you're not a developer, you can still support the project in other ways. Consider donating to my Ko-fi page to show your appreciation and help me continue improving Barry. Every contribution is highly appreciated!

ko-fi

License

Barry is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for more information.

Please note that the licenses may differ between different parts of the project. Make sure to refer to the appropriate license file for each component.