Ryanair does not tell you when a fare drops, so this watches one route and does. Agadir (AGA) to Fez (FEZ), which is the flight home.
Two front ends over the same price lookup: a CLI for checking by hand, and a Discord bot that holds price alerts and says something when one trips.
Cheapest fare in the window, the spread against it, and every flight with a bar
so an outlier is obvious at a glance. ★ marks the lowest, ◆ anything within
10% of it.
pip install -r requirements.txt
python cli.py # next 60 days
python cli.py -d 30 # next 30
python cli.py --date 2026-10-02 # one date
python cli.py -l # lowest price only
python cli.py -m 200 # under 200 MAD--no-color if the output is going somewhere that does not read ANSI.
bot.py is the same lookup on a schedule. Users register a price with a slash
command, the bot polls, and it pings the channel when a fare comes in under
their number. Alerts live in alerts.json, keyed by Discord user id.
DISCORD_TOKEN=... python bot.pyThe token comes from the environment; Procfile runs it as a worker dyno.
The schedule is fixed, so the lookup only asks about days the flight exists: Saturdays 09:35 and Tuesdays 10:05, both 1h 20min. Prices are in MAD.
