Under Development HotelsForFurs website & monitoring program are currently in Early Access
About How It Works Setup Docs Creator Donate
Under Development Program & Website Early Access · 100% Free

Never miss a
hotel opening.

HotelsForFurs watches the Midwest FurFest reservation portal around the clock and sends you a Telegram message the moment rooms become available. No refresh spam. No missed cancellations. Completely free.

0 Hotels Tracked
0 Min Check Interval
0 Cost

Convention hotel booking is stressful.

Sessions expire fast

Passkey kills your session after 10 idle minutes. By the time you re-enter everything, rooms are gone.

JavaScript-rendered data

Hotel listings load via client-side JS. A simple HTTP request returns an empty page — you need a real browser.

Cancellations happen anytime

Room blocks reappear at random hours with zero notice. If you're not watching, someone else grabs them.

Four steps, fully automatic.

1

Opens the booking portal

Launches a headless Chromium browser, loads the Passkey page, accepts cookies, and selects the attendee group.

2

Picks the convention dates

Clicks through the calendar widget to set check-in (Dec 3) and checkout (Dec 7), then hits search.

3

Reads the results

Waits for the page to fully load, then pulls every hotel name from the rendered listing and compares it to the last run.

4

Sends you a Telegram message

If anything changed, you get an alert instantly. If nothing changed, you still get a quick status update so you know it's running.

Simple stack, reliable results.

Python + Playwright

The bot runs a real Chromium instance through Playwright. No fragile API hacks or scraping workarounds — it interacts with the page the same way you would.

Telegram notifications

Sends structured messages directly to your Telegram account. Hotel names, status changes, and booking links arrive in seconds.

State tracking

Saves a snapshot of the hotel list after every check. Only triggers a change alert when rooms are actually added or removed — no duplicate noise.

Privacy first

Open source. Your Telegram token and chat ID stay in your own environment variables. No analytics, no tracking, no data collection of any kind.

Up and running in minutes.

Pick your preferred setup. Both options are completely free.

01

Install dependencies

sudo apt update && sudo apt install -y python3 python3-pip python3-venv git

02

Clone & set up

Clone the repo, create a virtualenv, install requirements, and run playwright install chromium --with-deps.

03

Add your credentials

Export TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID as environment variables in start.sh.

04

Launch

Run nohup ./start.sh > monitor.log 2>&1 & — the bot checks every 5 minutes in the background.

01

Fork the repo

Fork or clone GoodDoggoDev/passkey-monitor. Everything is pre-configured.

02

Create a Telegram bot

Message @BotFather on Telegram to get your API token, then find your chat ID.

03

Set secrets

In your repo's Settings → Secrets, add TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID.

04

Enable the workflow

Go to Actions, enable the workflow, and you're done. It runs on a schedule in the cloud.

GoodDoggoLuna

GoodDoggoLuna
First Major Project

GoodDoggoLuna

Developer · Furry Fandom

HotelsForFurs is my first big project. I got tired of losing convention reservations because the booking portal is impossible to keep up with manually, so I built something to do it for me — and then made it free for everyone in the community.

Built with Python, Playwright, and the Telegram API. Runs 24/7 on a Linux server. The whole thing is open source — fork it, run it, make it yours.

Python Ubuntu Telegram Furry

Free. Seriously.

No cost, ever

No subscriptions, no paid tiers, no ads. This is a community project by furs, for furs.

Free hosting options

Run it on GitHub Actions for free, or on any cheap Linux server you already have.

Fully open source

Every line of code is on GitHub. Read it, fork it, contribute to it.