Checking for valid robot IPs now uses promises