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 |
!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