A Discord bot heavily inspired by Ultimate Bravery to spice up your Pokemon Unite experience
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 ?
While UniteBraveryBot 1.0.0 focuses on essential functionality, there might be more features to come in the future. Currently the following features are available:
- 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)
- Always have the whole Pokemon roster available
- The Pokemon Roster is synchronized daily¹ with the official Pokemon roster
- 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
¹ The synchronization interval can only be changed in code since it’s global for all guilds
² 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, 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
- Github: @Abzylicious
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
orenvironment variable
(You might have to figure out how to do that in your IDE. IntelliJ let’s you do that underRun -> Edit Configurations...
)
Show your support ⭐️
Give a ⭐️ if this project helped you!
License ?
Copyright © 2022 Alexander Deledda This project is MIT licensed.