Commands (Advanced)

In addition to Willow’s WebPortal, you can register your commands directly by messaging Willow in Discord.

Willow will react or reply to valid commands with either:

  • ✅ - Command successful
  • 👌 - Already registered

General commands

!help

!help sends instructions on some basic commands (from config/dts.json greeting template) Can take a parameter for a command - eg !help track - this returns text present in dts help template with an id of the command. See the example for english in configs/default/dts

!stop

!stop Temporarily stops alarms

!start

!start Restarts alarms if they were stopped

!unregister

!unregister Deletes all users tracking information. After !unregistering, you would need to register again with !poracle before new alarms.

!location

!location CA 90401 for example, would register a users’s location to 34.0151,-118.495
Instead of “CA 90401” you can search use your current zipcode or use longitude,latitude

!area add

!area add Santa_Monica This command will add tracking from that area to the user.
In case the area is not configured, the bot will reply with the areas that are available.
You can also use multiple areas in the same command (separated by spaces) and only available ones will be added.

!area remove

!area remove Santa_Monica Removes Santa Monica from tracked areas if configured and currently tracked. You can also use multiple areas in the same command (separated by spaces) and only available ones will be removed.

!area list

!area list lists the possible areas you can add.

!area show

!area show Santa_Monica - if geofence Santa Monica is in the list of areas, show a staticmap with details of it; !area show d1000 - show a distance circle around current !location

!area overview

!area overview - if areas are registered, then a map of the areas you registered will be sent

!tracked

!tracked Shows a details list of Monsters, Raids, Eggs and quests user is tracking. Should the message exceed 6000 charecters, it will be uploaded into hastebin and a link will be sent to user. If hastebin is down (like it often is), the bot will create a temporary file and upload it to discord as a reply.

Tracking commands

!track

!track pikachu raichu d500 iv50 level10 This command would add tracking for Pikachu and Raichu that are 500 meters from your location.
The command needs to include at least one monster and any amount of filters

available filters:

Filter Example Description
  !track pikachu No filters, tracks pikachu within an area you are tracking in
d !track pikachu d750 Tracks pikachu within 750 meters of location
iv !track pikachu iv90 Tracks pikachu inside a tracked area with a minimum IV of 90%
maxiv !track pikachu iv0 maxiv0 Tracks pikachu with 0% IV. Not encountered mons have IV set to -1 so iv0 is needed otherwise it would trigger on maxiv0 (-1<0)
cp !track shuckle cp300 Tracks shuckle with a minimum CP of 300
form !track unown forma formquestion Tracks unown with questionmark form or form A. Can only be used with one monster at a time. Monster needs to have forms
maxcp !track shuckle maxcp400 Tracks shuckle with a maximum CP of 400
level !track shuckle level20 Tracks shuckle with a minimum level 20
maxlevel !track shuckle maxlevel1 Tracks shuckle with maximum level 1
atk !track eevee atk15 Tracks eevee with a (minimum) 15 point attack value
def !track eevee def14 Tracks eevee with a (minimum) 14 point defense value
sta !track eevee sta10 Tracks eevee with a (minimum) 10 point stamina value
maxatk !track eevee maxatk0 iv0 Tracks eevee with a (maximum) 0 point attack value. iv filter is necessary to avoid unencoungered mon (iv on those is -1)
maxdef !track eevee def10 maxdef14 Tracks eevee with a 10 - 14 point defense value
maxsta !track eevee maxsta10 iv50 Tracks eevee with a (maximum) 10 point stamina value and iv over 50%
weight !track magikarp weight13130 Tracks “big” magikarp (13130 grams and higher
maxweight !track rattata maxweight2410 Tracks “tiny” rattata (2410 grams and lower)
male !track rattata male Tracks male rattata
female !track pikachu female Tracks female pikachu
genderless !track unown genderless Tracks genderless unowns
everything !track everything iv95 level20 Tracks eveything with a minimum IV of 90% level 20 and higher
gen !track everything gen6 iv60 level15 Tracks gen 6 pokemon with a minimum IV of 60% level 15 and higher
clean !track pikachu clean Automatically deletes the messages as soon as the pokemon expires

!untrack

!untrack pikachu raichu This command would remove tracking for Pikachu and Raichu.

Any monster name can be used in the same command or alternatively !untrack everything would remove all monster tracking.

!raid

!raid snorlax d1000 instinct This command would add tracking for Snorlax raids within 1000 meters or within a tracked area if the gym is controlled by team Instinct

Available filters:

Filter Example Description
  !raid snorlax No filters, snorlax raids within your tracked area
d !raid snorlax d1000 Tracks snorlax raids within 1000 meters
ex !raid ex level5 d1000 Tracks all level 5 raids in an ex eligible gym within 1000 meters, can only be used with no monsters in the command
level !raid level5 d1000 Tracks all level 5 raids within 1000 meters, can only be used with no monsters in the command
instinct !raid zapdos instinct Tracks zapdos raids where controlling team is Instinct
mystic !raid articuno mystic Tracks articuno raids where controlling team is mystic
valor !raid moltres valor Tracks moltres raids where controlling team is valor
form !raid exeggutor formalola Tracks Exeggutor raids in your area if form is Alolan
harmony !raid venusaur harmony Tracks venusaur raids in uncontested gyms
everything !raid everything Tracks Raids from level 1 - 6
gen !raid gen5 Tracks raids against gen5 pokemon
clean !raid snorlax clean Automatically deletes the messages as soon as the raid expires

!raid remove

!raid remove snorlax Removes tracking of Snorlax raids. !raid remove level5 level3 Removes tracking of level 5 and 3 raids.

!egg

!egg level5 d1000 Tracks level 5 raid eggs within 1000 meters. Command must include a level.

Available filters:

Filter Example More words
  !egg level5 No filters, level 5 eggs within your tracked area
d !egg level4 d1000 Tracks level 4 eggs within 1000 meters
ex !egg level4 ex d1000 Tracks level 4 eggs in an ex eligible gym within 1000 meters
instinct !egg level3 instinct Tracks level 3 eggs where controlling team is Instinct
mystic !egg level2 mystic Tracks level 2 eggs where controlling team is mystic
valor !egg level1 valor Tracks level 1 eggs controlling team is valor
harmony !egg level5 harmony Tracks level 5 eggs in uncontested gyms
everything !egg everything Tracks Raids from level 1 - 6
clean !egg level5 clean Automatically deletes the messages as soon as the egg expires

!egg remove

!egg remove level2 Removes tracking of level 2 raid eggs.
Level is required to remove egg tracking.

!quest

!quest pikachu poke ball stardust d1000 Tracks quests that would reward a pikachu, pokéballs or stardust within 1000 meters

Available filters:

Filter Example More words
all pokemon !quest all pokemon tracks quests for all pokemon rewards within your area
gen !quest gen5 tracks quests for all gen5 pokemon rewards within your area
all items !quest all items tracks quests for all item rewards within your area
d !quest snorlax d50 Tracks Snorlax awarding quests within 50 meters of set location
stardust !quest stardust d1000 Tracks quests within 1000 meters that awards stardust

!quest remove

!quest remove all pokemon pinap berry stardust
Removes quest tracking for all pokemon, pinap berries and strdust.

!incident

!incident fire mixed d1000 Tracks all invasions of mixed AND fire types on pokestops within 1000 meters

!incident mixed female Tracks all mixed-lineup invasions where the grunt is a female, aka Snorlax Grunts

Available filters:

Filter Example More words
all types !incident tracks any incident within your area
(typeName or mixed) !incident mixed fire water rock ground tracks incidents of specific type within your area. Any of the 18 types are possible + the mixed type that is invasions where the typing is unknown/random
kecleon !incident kecleon tracks kecleon incidents at stops
d !incident d50 Tracks incident within 50 meters of set location
female or male !incident female Tracks only female or male incidents
remove !incident remove Removes all alerts
clean !incident mixed clean Automatically deletes the messages as soon as the incident expires

!profile

Profiles allow you to specify different tracking configurations for different times. You create profiles with !profile add eg !profile add home. You can list your profiles with !profile list

Note that to change tracking switch to a particular profile (eg !profile home, issue !track, !location or !area commands and these will be set to the current profile.

But what about automatic change based on time of day? You can do !profile settime activationtimes - where the activationtimes are days of week & times to activate - eg mon9:15 or weekday17:00 or weekend09.

Every 10 minutes Poracle will check if a profile was due to activate and will set it.

Note that the !start and !stop commands are global for all profiles.

Command Definitions

Command Description
!profile add <name> This will add a new profile with the name provided. If you currently have no profiles then your current !tracked settings will be applied to this profile. If you have an existing profile then this command will create a blank profile. If you want to copy the settings from one profile to another then use the !profile copyto <name>.
!profile <name> This will switch to the profile with the name provided.
!profile copyto <name> This will copy the profile settings of the currently selected profile to the profile name provided. This will not copy settime configuration settings.
!profile list This will list the available profiles, displaying which is currently selected with an asterisk (*) by the number associated with the profile as well as when the profile becomes active.
!profile settime <timestring> This will apply a time setting to the current profile for when this profile will become active. Change to a different profile with `!profile ' to apply time settings to a different profile.
!profile rename <name> This will remove a profile of the name provided.

Scenario 1: Turning off notifications at night

In this scenario, we want to get alerts after our working hours up until we are done gaming for the day. Assuming that we work until 5 PM and stop gaming at 9 PM. Weekends are gaming potential from 8 AM to 8 PM.

Setup home profile

Create a new profile.

!profile add home

Select it.

!profile home

At this point we want to configure our profile with !location, !area, !track, !raid, !quest, etc.

Set the start time for the profile

Since the bot could change profiles 10-20 minutes after the desired scheduled time, we will change to our active profile at 4:40 PM. That way, if there is something close by or work we can jump on it after we leave the door.

!profile settime weekday16:40 weekend07:40

This profile will now become active sometime after 4:40 PM on weekdays and sometime after 7:40 AM on weekends.

Create a blank profile

This will create a blank profile named ‘off’.

!profile add off

Set the time to turn off tracking

Select the off profile.

!profile off

This will select the ‘off’ profile then configure it to become active sometime after 9 PM on weekdays and 8 PM on weekends.

!profile settime weekday21:00 weekend20:00

Because the ‘off’ profile contains no tracking configuration, there will be no notifications.

Go back to your home profile to get notifications

!profile home

Scenario 2: Including a commute

In this scenario, you got a new job in a new area and want to be able to track stuff around your building during lunch. Your job is a couple of cities away, so you don’t need to get notifications of what you could have had if you were at home because that hurts.

Set up work profile

Create work profile.

!profile add work

Select home profile.

!profile home

Copy the home profile configuration with all tracking to the work profile. Activation times will not be copied.

!profile copyto work

Select work profile.

!profile work

The ##.##,##.## is where you would place the coordinates of your work building. e.g. !location -12.34,56.78

!location ##.##,##.##

Add the city of your work.

!area add newcity

Remove the city of your home.

!area remove homecity

Configure any tracking that you want to do while at work. You may want to use distance filter for !track so that the notifications are close enough for you to act upon.

You may not have time to go raiding durin lunch, so perhaps just keep it to rare Pokémon.

!raid remove everything

Set the work profile to start sometime after 11:40 AM.

!profile settime weekday11:40

Update your off profile

Select the off profile.

!profile off

Include all of the times that you want the profile to become active. In this case, we added 1 PM to what we had configured previously for 9 PM on weekdays and 8 PM on weekends.

!profile settime weekday13:00 weekday21:00 weekend20:00

Go back to your home profile

!profile home

Now we want our home profile to become active when we finish our commute home, which we’ll say is by 5:30 PM. We’ll set the time to 5:10 so that some time after that it will become active.

!profile settime weekday17:10 weekend07:40


This website and the authors have no relationship with Niantic, Nintendo, The Pokémon Company, or any other Pokémon related company. Pokémon Go is ©2023 Niantic, Inc. ©2023 Pokémon. ©1995–2023 Nintendo / Creatures Inc. / GAME FREAK inc. Pokémon and Pokémon character names are trademarks of Nintendo. Other trademarks are the property of their respective owners.