Pokétwo brings the Pokémon experience to Discord. Catch randomly-spawning pokémon in your servers, trade them to expand your collection, battle with your friends to win rewards, and more.
This repository hosts the code for Pokétwo's rewrite, which is still in progress, expected to be released in August 2022. Looking for the stable version of Pokétwo? Click here.
Pokétwo is a collection of smaller components:
These services handle important tasks and are relied on by other modules.
database— handles database operations, accepts GRPC requests
gateway— handles connections to Discord Gateway, sends events to RabbitMQ
imgen— handles image generation, accepts GRPC requests
These services consume Discord events from RabbitMQ, including commands and messages.
module-pokedex— Pokédex and Pokémon inventory-related commands
module-catching— spawning and catching of Pokémon
module-general— miscellaneous commands not belonging to any other category
module-market— the global Pokémon marketplace
module-auctions— (not yet implemented) Pokémon auction functionality
module-battling— (not yet implemented) battles between trainers
module-shop— (not yet implemented) the in-game item shop
module-quests— (not yet implemented) daily and weekly quests
These components are shared code used by other services.
command-framework— primary slash command handler framework
command-framework-macros— macros used for the command framework
emojis— Pokétwo's custom emoji library
gateway-client— client that consumes events from RabbitMQ
i18n-rust— enables localization of messages
protobuf— Protobuf declarations shared across all components
protobuf-elixir— generated Protobuf code for Elixir
protobuf-rust— generated Protobuf code for Rust
resources— folder for translations and other static files
Deploying Pokétwo is not simple, and is not meant to be. We do not recommend attempting to build or host Pokétwo by yourself. Instead, use this link to add the production Pokétwo instance to your Discord server.
If you would still like to run your own instance, perhaps for development purposes, and you know what you are doing, a sample
docker-compose.yml is provided. As of now, however, there is no other documentation or instructions for building, and no support whatsoever will be provided.
This repository is licensed under the Mozilla Public License, version 2.0. If you wish to use or distribute this code, you may do so under the terms of the MPL. The full license can be found here.