Beta branch!
A Discord helper bot for Pokemon Go communities.
Meowth is a Discord bot written in Python 3.5 using version 0.16.8 of the discord.py library.
Meowth is now able to handle being on multiple servers of any size in any part of the world and can be invited to your server without having to install Python or run anything on a local machine yourself. The configuration process is now handled completely on Discord via DM with the server owner. First, a list of current features:
- User-driven (not automated) wild spawn and raid reporting.
- Role management for each Pokemon species (Discord limits a server to 250 roles, however) that allows each user to opt-in only for the Pokemon they want. These roles are mentioned when spawns or raids are reported.
- Raid coordination: several methods of interacting with Meowth allow users to declare themselves as interested in, on the way to, or at a raid. These are compiled into lists that let users easily determine the size of the current raid party. Each reported raid gets its own channel that is deleted when the reported time on the raid expires. Meowth also queries Google Maps to get a guess of the raid location (no access to the game means no list of gyms).
- Optional team management and new member welcome functions.
- Be a user with the "Manage Server" permission on the server you're trying to invite Meowth to, or get such a person to follow these directions. The server owner will have to do the configure process anyway, so you might as well get that person.
- Follow this link: https://discordapp.com/oauth2/authorize?client_id=346759953006198784&scope=bot&permissions=268471376 and select your server.
- In your server, type !configure if you are the server owner. Meowth will DM you and ask you some questions about your time zone, what functions you want to enable, what channels you want to restrict certain functions to, and what locations to insert to Google Maps queries (these are channel-specific). Do NOT send anything to your server while in this process as a few times Meowth is just waiting to see any message from you. If you make a mistake just type !configure in your server to start over.
- Meowth will send you a file with some custom emoji in it. You can just bulk upload those to your server. Meowth currently uses 23 custom emoji. 18 of these are type icons (for displaying type weaknesses of raid bosses), 3 of them are team icons, and 2 are for raid coordination. All functions are available without custom emoji, but the type icons in particular look slick in raid reports.
- That's it! You can join the Meowth server here for updates, setup help, feature requests, or just to test out the bot before you add it. https://discord.gg/hhVjAN8
If you want to tinker with Meowth yourself, you can still download this repo, make whatever changes you want (or keep everything if you want) and run Meowth locally. The configure process is the same except you'll have to use your own bot token.
-
Install Python 3.5 for whatever OS you have on your home computer. https://www.python.org/downloads/release/python-350/
-
Install discord.py. To do this, run this command in your command prompt: python3 -m pip install -U discord.py (On Windows: py -m pip install -U discord.py should work)
-
Download the files in this repository. The source code is in meowth.py, the rest of the files are images for the custom emoji that Meowth uses and config files.
-
Go here https://discordapp.com/developers/applications/me#top and create a new app. Name it Meowth if you like and upload the Meowth avatar included in the repository. Create a bot user for your app.
-
Copy this link. https://discordapp.com/oauth2/authorize?client_id=<CLIENT_ID>&scope=bot&permissions=268454928 Paste it into your browser. Then go to your Discord application page again and copy the client id, inserting it into the above link where it says <CLIENT_ID>. Press enter and select the server you want to add Meowth too.
-
Give Meowth, at the least, permissions to read and write messages, embed links, manage channels, and manage roles.
-
Go back to your app page in Discord and click to reveal the bot token, then copy it. Open config.json in a text editor. Paste the bot token into line 13, replacing the "mytokenhere" string.
-
Run meowth.py from the command prompt or terminal window. If successful, it should print "Meowth! That's right!" to the window and the bot should show up as online in Discord.
-
All commands except !team should be working. The welcome message may or may not be working at this point. Google Maps links may not be that accurate yet. The raid commands will be using default values like :omw: which may not be configured on your server.
Note: avoid punctuation of any kind inside commands. The <> in these instructions are there for decoration
-
!team - adds you to a team role on the server. These roles must be created beforehand.
-
!want - adds you to an invisible role for a Pokemon. Meowth will create a role if none exists.
-
!wild - Meowth will send a message @mentioning and including a Google Maps link to . If is blank, Meowth will ask for more details.
-
!raid - Does the same thing as !wild, but also creates a new channel by the name of #-. The message also includes the custom emoji for the types that do super effective damage against the Pokemon. The created raid channel will automatically delete after the has expired. If is not given or is given in a format other than H:MM, Meowth will assume a two-hour time remaining and ask you to use !timerset.
-
:omw:/:here:/!coming/!here - in a raid channel, the custom emoji for omw and here tell Meowth that you are on your way to or at a raid. !coming and !here do the same things as the custom emoji. If you have multiple trainers with you, type another emoji for each additional trainer. If you are using the commands, use them with !coming to do the same thing. Typing :here: also removes you from the on the way list. The exact phrases are configurable on lines 53-56.
-
:unomw:/:unhere:/!cancel - in a raid channel, these custom emoji tell Meowth to remove you from the on the way or waiting lists. The !cancel command removes you from either list if you are on one. The exact phrases are configurable on lines 53-56.
-
!otw/!waiting - in a raid channel, these commands tell Meowth to list and mention the trainers who said they were on the way or at a raid. It also includes the total number.
-
!starting - in a raid channel, this command tells Meowth to delete the !waiting list for that raid. Meowth will mention the users and ask them to respond with :here: if they are still waiting.
-
!timerset H:MM - in a raid channel, this tells Meowth how long is remaining on the raid. Meowth will send a message notifying the time at which the raid will end. Also overwrites any previously used !timerset command for that raid.
-
!timer - in a raid channel, tells Meowth to resend the message from the last !timerset command. Prevents unnecessary scrolling.
Meowth relies completely on user reports of raids, wild spawns, on the way to a raid, at a raid, and starting a raid. Meowth was designed as an alternative to Discord bots that use scanners and other illegitimate sources of information about Pokemon Go. As a result, Meowth works only as well as the users who use it. As there are 10+ ways of interacting with Meowth, there can be a bit of a rough learning period, but it quickly becomes worth it.
Compatibility with Python 3.6 on Mac OS X requires running "Install Certificates.command" in the Python 3.6 folder. Incompatible with discord.py 1.0