moodE is a competitive Pokémon-focused chat bot for Discord , Pokemon Showdown, and Twitch, written in nodejs. It is based on JsKingBoo's SableyeBot, DragonWhale's BattleSpotBot, and sirDonovan's Lanette and Cassius. It parses data from pokemon-showdown, and some of the commands use code from there.
Note: All of the below steps assume you have Node.js v12.x or later installed on your computer!
- Obtain a copy of moodE
If you're reading this outside of GitHub, you've probably already done this!
Click the green button on the top right of the page if you're viewing this in GitHub, and either "Open in Desktop" (recommended if you already have GitHub Desktop installed), or "Download ZIP" (pokemon-showdown databases will not auto update if you do this!).
Alternatively, you can clone it from the command line, if you have git installed:
git clone https://github.com/LegoFigure11/moodE.git
- Install dependencies
Open a command prompt/terminal and navigate to the folder where your copy of moodE is (replace path/to/moodE
with the file path of your download):
cd /path/to/moodE
From here, install the dependencies from package.json
(you can ignore the warnings about discordjs requiring peer dependencies, you don't need those for this bot):
npm install
(Append --save-dev
to the end if you plan on developing/contributing to the bot.)
- Set up config files
Currently, only Discord is supported by this bot (Twitch and Pokemon Showdown are in the works!). The configuration file for discord is found in /discord/config.json
, and you will need to create this file by copying /discord/config-example.json
and renaming it to config.json
. You will then need to edit this file to include your bot token, amongst other things.
Field | Value | Description |
---|---|---|
token | "string" | Bot access token, required to log in. |
owner | "string" | Bot owner's discord User ID |
commandCharacter | "string" | The character that the bot will use to recognise commands. |
admin | ["array", "of", "strings"] | A list of discord User IDs that will have access to admin/development commands (eg eval, kill) in all servers the bot is in. |
elevated | ["array", "of", "strings"] | A list of discord User IDs that will have access to certain restricted-access commands (eg addotherfc) in all servers the bot is in. |
defaultGen | number (1-8) | The default generation to run Dex commands with, if none is specified. |
successEmoji (optional) | "<:string:emojiID>" | Emoji that the bot will use as a success symbol in all servers. See /assets/greentick.png for an example. You can upload this image as an emoji to any server that the bot is in, as bot accounts have Nitro by default. |
failureEmoji (optional) | "<:string:emojiID>" | Emoji that the bot will use as an error symbol in all servers. See /assets/redcross.png for an example. You can upload this image as an emoji to any server that the bot is in, as bot accounts have Nitro by default. |
Some additional configuration can be done in /moode.js
and command-specific configuration can be done later (once the bot is running).
- Starting up the bot
If you've done all of the above, you're ready to go! Simply run:
node moode.js
and the bot should start.
- Additional configuration
[To Be Completed]
This bot builds upon the work of and wouldn't be possible without:
- Quinton Lee (sirDonovan)
- JsKingBoo
- DragonWhale
- tmagicturtle
- Guangcong Luo (Zarel) and contributors
This software is distributed under the MIT license. For more details, see the LICENSE
file.