Skip to content

Latest commit

 

History

History
118 lines (77 loc) · 6.4 KB

README.md

File metadata and controls

118 lines (77 loc) · 6.4 KB

Kotlin DiscordKt License

UniteBraveryBot 🎲

A Discord bot heavily inpired by Ultimate Bravery to spice up your Pokemon Unite experience.

Required Permissions 🧰

  • View Channels
  • Send Messages
  • Embed Links
  • Read Message History

Features 🚀

  • Ultimate Bravery for Pokemon Unite
    • Get a random Pokemon you have to pick in your next match
    • Get a random lane you have to play on in your next match (if enabled for the guild)
    • Get randomized Held Items you have to pick for the given Pokemon (if enabled for the guild)
    • Get a random Battle Item you have to use in your next match (if enabled for the guild)
    • Get a randomized move set you have to use in your next match (if enabled for the guild)
    • Go shiny! For each roll there's the chance to get the shiny Pokemon sprite¹ (chance 1:4096)
  • A permission system protects UniteBraveryBot to be abused by your members
  • Command invocations are logged (given a configured logging channel)
  • Multi Guild support
    • Easy initial guild configuration via a conversation
    • Each guild can configure its own bot prefix
    • Each guild can configure UniteBraveryBot's permission system to work with its respective Admin role
    • Each guild can configure its respective logging channel
    • Each guild can configure its own randomization options
  • Dockerize the bot easily via the provided Dockerfile and docker-compose.yml file

¹ Sprites are provided by https://pokemondb.net

Commands 🤖

Refer to commands.md for a general list and explanation of all available commands. To learn about commands during runtime, use the help command!

Getting Started ⚙️

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Requirements

  • Java
  • Docker
  • Docker-Compose (compatible with docker-compose version 3.8)

Get the Docker version you need here!

Setup

Since this bot has a docker-compose.yml file and is hosted on DockerHub, all you need to start your own version of UniteBraveryBot locally is to clone this repository and set up the .env file.

The .env file is used to configure the bot token and the bot default prefix, in the following format:

BOT_TOKEN=<insert-bot-token>
DEFAULT_PREFIX=brave!

For Linux and Mac run

$ cp .env.example .env

For Windows run

> Copy-Item .env.example .env

Edit the .env file with your favourite editor, filling out the following properties:

  • BOT_TOKEN (you can find the bot token under https://discord.com/developers/applications/{application-id}/bot for an overview of all your bots visit https://discord.com/developers/applications)
  • DEFAULT_PREFIX (the default prefix is brave!)

Run the bot via docker-compose

$ docker-compose up --build --detach

Versioning 🏷️

This project uses Semantic Versioning for versioning. For the versions available, see the tags on this repository.

Author 👤

Alexander Deledda

See also the list of contributors who participated in this project.

Contributing 🤝

Contributions, issues and feature requests are welcome! Feel free to check the issues page.

Setup development environment 🛠️

For development, you don't necessarily need Docker and Docker-Compose but Java

  • clone this repository
  • Open the project in your favourite Java / Kotlin IDE (JetBrains IntelliJ IDEA is the recommended IDE for Kotlin projects)
  • For running the bot within your IDE you need to add your bot token as program argument or environment variable (You might have to figure out how to do that in your IDE. IntelliJ let's you do that under Run -> Edit Configurations...)

Show your support ⭐️

Give a ⭐️ if this project helped you!

License 📝

Copyright © 2022 Alexander Deledda
This project is MIT licensed.