Rotom-B is a Discord Bot with lots of easily accessible Pokémon information, tailored to make your Max Raid battles easier. Rotom-B keeps up to date Pokémon Sword & Shield data including: dens, catch rate, pokéballs, pokédex, types and natures data, with more to be added soon.
Invite Rotom-B to your Discord Server to get started!
Rotom-B will be added with simple message reading permissions and will start listening to commands with the default $
prefix.
Rotom-B is a rewrite of the popular Alcremie-B den bot, with some extra features.
We loved Alcremie-B! Unfortunately the maintainer was unable to keep maintaining the bot, so we decided it would be a fun project to rewrite it, and add some cool features along the way. This is not meant to be competition, so please all credits goes to the original creator RaphGG for the idea.
We built this app so we can share our love for the games with the community, therefor no personal data is tracked, stored, or otherwise required to use this bot. The bot does contain a database it uses to store the guild's specific settings.
- The structure of each table can be found in the
migrations/
folder direction, inside any file ending inup.sql
- The bot stores the following data for the following reasons:
- The server's name for customized messages
- The server's ID for identifying which settings belong to what guild
- channels and roles the bot will obey to
- ID's of the users who have admin access to the bot
- The bot does not, and will never store user's messages, identifying information (such as names, emails, etc) as they are not required for operations
- You can join us over the development and support server, where a maintainer will be happy to help!
- You can also submit an new issue to this repo, where one of the maintainers will also be able to help.
- If you are using the bot hosted by us, you can contact us via any of the methods mentioned before, and will happily remove your guild's record from the database.
- In the future, this will be built into the bot as a command
- Complete Max Raid Dens information, including up to date Isle of Armor DLC.
- Easily accessible Pokémon data, like stats, abilities, den locations, pokédex entries, etc.
- Catch rate & Pokéball stats calculator based on Bulbapedia.
- Sprites for all Pokémon, including forms and shiny versions.
<>
indicate required fields.[]
indicate optional fields.- Use
*
next to Pokémon name for shiny sprites. - Catch Rates calculation are under Raid Specific Conditions: Levels 30-70, 1 HP, and no status modifiers.
Command | Arguments | Description |
---|---|---|
$ball |
<ball_name> |
Shows a summary of a Poké-Ball’s statistics |
$catch |
<pokemon> [form] [ball_name] |
Summary of catch rates for a given Pokémon and Ball combination. |
$credits |
Credits to all who helped in the creation of the bot. | |
$den |
<den_number/pokemon_name> |
Shows a list of Pokémon that belong to a den including their HAs. |
$help |
Displays a list of commands you have access to use. | |
$invite |
Get an Invite Link to invite Rotom-B to another server! | |
$nature |
<nature> |
Shows ithe Pokémon Sprite in appropriate form |
$pokedex |
<pokemon> |
Shows Pokédex info on every Pokémon. |
$sprite |
<pokemon> |
Shows the Pokémon Sprite. Include * in the end for the shiny sprite. |
$type |
<type> |
Shows info regarding Pokémon Types. |
$version |
Check which version of Rotom-B is running. | |
$settings |
[setting] <new_value> |
Allows administrators to set server specific configuration. |
-
Persistency, including a database for all the data -
Custom settings -
Updated Pokémon information with all new Sword and Shield DLC Pokémon and Zarude - Automatic messages on bot status and new updates
- Friend codes and IGN storage support
- Creating website
- ...And we're accepting ideas/PRs! :)
Please note we don't have an animated sprite for Gigantamax Inteleon and its Shiny version. This is the only Pokémon we're using a still image for a sprite. Pull requests adding it are much appreciated!
All images are hosted in this repository
What the bot looks like on Discord!
- Go - Go Programming language
- PostgreSQL - A working database instance (Docker recommended)
- Air - Live Reload - (optional) if running live reload while development.
- Docker - (optional) if running the database on Docker.
First we need a configuration file, copy the example-config.yaml and update values as needed
cp example-config.yaml config.yaml
The Simplest way to get everything running is using docker-compose
docker-compose up
If running individually, first run a postgres instance:
# Run the postgres instance
docker run --name postgres \
-e POSTGRES_PASSWORD=root \
-e POSTGRES_USER=postgres \
-e POSTGRES_DB=postgres \
-p 5432:5432 \
-d postgres
# Run migrations
make migrate-dev
For simple development, you can just do the following:
make dev
For auto-reload on changes, you can run this instead (requires air installed)
make dev-reload
For a production build, you must run the make command for specific OS needs. At the moment we have support for AMD64 Linux/OSX/Windows (windows is untested).
# Creating production build for Linux
make linux
# Run the bot
./den-bot-linux-amd64 bot
For a production build on any other architecture not in the Makefile (PRs welcomed!)
# Setup the ENV variables needed
OS=<desired_os>
GOARCH=<desired_arch>
COMMIT=$(shell git rev-parse HEAD)
BRANCH=$(shell git rev-parse --abbrev-ref HEAD)
VERSION=$(shell cat .version)
METRICS_IMPORT_PATH=github.com/caquillo07/rotom-bot/metrics
# Setup the -ldflags option for go build here, interpolate the variable values
LDFLAGS = -ldflags "-X ${METRICS_IMPORT_PATH}.Version=${VERSION} -X ${METRICS_IMPORT_PATH}.Commit=${COMMIT} -X ${METRICS_IMPORT_PATH}.Branch=${BRANCH}"
# Build the bot
GOOS=${OS} GOARCH=${GOARCH} go build ${LDFLAGS} -o ${BINARY}-${OS}-${GOARCH} .