ESO Housing Bot — Transparency
What the bot does, what it can see, and what data it stores. Written in plain language. Verifiable in 30 seconds.
A bot in your Discord server is a black box unless someone tells you what it does. This page is the public, plain-English answer to "what is the ESO Housing bot, what can it see, and what does it actually do?" — for server admins evaluating it before inviting, and for members who simply want to know.
What the bot is
ESO Housing Bot is a custom bot built and maintained by @Vaelarn for esohousing.com. It does exactly two things: answer on-demand slash commands from the site's public database, and — only when a server admin opts in — post site announcements to one channel.
On-demand commands
Every command below is strictly read-only against esohousing.com's public database. The bot never sends a message unless a user runs one of these.
/furniture- Search 6,800+ furnishings by name. Returns image, price, vendor, acquisition, and achievement info as an embed.
/guild- Summary card for a guild (name, motto, member count, server, recruiting state, Discord + website links).
/house- Hero card for a gallery house (title, owner, type, hero image, link to the full tour).
/spotlight- Today's featured furniture item from the weekly Spotlight rotation.
/whois @user- Looks up a Discord user's linked ESO Housing profile (guild, role, builds, likes, join date). Only returns data users have voluntarily linked via Discord login on the site — if they haven't signed up, the bot says so.
/eventtoday- Upcoming guild events starting in the next 24 hours, across every public guild on the site.
/randomhouse- Discovery tool — returns a random published house from the community gallery.
Admin opt-in feature
Two admin-only commands (require Manage Server) for channel subscriptions to site events:
/announcements-setup- Takes a webhook URL you create and subscribes that channel to new houses + the weekly Spotlight. The bot posts through your webhook; no extra channel permissions needed.
/announcements-stop- Removes the webhook subscription. Instant, reversible at any time.
That's the complete list. No moderation, no message reading, no member tracking, no AI features, no data brokering.
The bot also shows as online with a rotating custom status (e.g. "Watching the Aurbis · 6 800 furnishings"). That's purely cosmetic — presence is server-broadcast only and the bot doesn't see member presences in return.
Profile fingerprint
Verify the bot in your server matches these values. If anything differs, it's an impersonator.
- Display name
- ESO Housing
- Application ID
1495814144723521696- Verified by Discord?
- Not yet — Discord requires 75+ servers; we'll apply when we hit that.
- Public bot?
- Yes — anyone can invite it from /tools.
- Tags
Game·Utility·Search·Information·Community- Terms of Service URL
- esohousing.com/bot-transparency
- Privacy Policy URL
- esohousing.com/bot-transparency
Permissions it asks for, and why
Discord requires the bot to declare permissions at invite time. The same four permissions below power every command in the list above — nothing new was added for the expanded command set:
| Permission | Bit value | Why we need it |
|---|---|---|
| Send Messages | 2 048 | To respond to slash commands with a message |
| Embed Links | 16 384 | So the response can be a polished embed with image and fields |
| Attach Files | 32 768 | Reserved for future commands that return files (currently unused) |
| Use Application Commands | 2 147 483 648 | Required for slash commands to work at all |
Combined permission integer: 2 147 534 848
What we explicitly do NOT ask for
- Read Messages / View Channels — we cannot read what people post in any channel
- Manage Channels / Manage Roles / Kick / Ban — no moderation powers
- View Audit Log — no access to your server's history
- Member Intent — we don't see your member list
- Presence Intent — we don't see who's online
- Message Content Intent — even if you ping the bot, we don't read your message text outside of the slash-command parameters you typed
The bot is write-only outbound plus slash-command-respondent. It cannot lurk.
What data we store about your server
When a server admin runs /announcements-setup with a webhook URL, the site's database stores one row in a discord_webhooks table:
| Field | What it is |
|---|---|
| guild_id | Your Discord server's ID — a public identifier visible to anyone in your server |
| webhook_url | The full Discord webhook URL the admin pasted in |
| active | Whether to post to this webhook (set to 0 if Discord returns 401/404) |
| created_at | When the webhook was registered |
That's the entire footprint. We do not store:
- Any member's Discord ID, username, avatar, or DMs
- Any message content
- Any role assignments or permissions
- Any analytics about who clicks what
The webhook URL is the only sensitive piece — it's effectively a write-token to your channel. We treat it like a password: HTTPS in transit, never logged in plaintext, never displayed in the admin panel except to the registering admin. If you suspect a leak, delete the webhook in your Discord channel settings — it instantly becomes invalid for everyone.
How to remove the bot
Two equivalent paths, depending on how clean you want the cut:
Option A — Kick the bot
Right-click the bot's name in the member list → Kick → confirm. Slash commands disappear from your server within minutes.
Any webhooks the bot was using auto-deactivate after the next failed POST.
Option B — Disable announcements only
Run /announcements-stop in any channel where the bot can see you. The webhook is removed from our database; /furniture continues to work.
For total wipe of even already-inactive rows, kick the bot AND DM @Vaelarn with the request. We'll confirm within 48 hours.
Changes to this notice
This page is updated whenever any of the following changes:
- The bot's requested permissions on the OAuth invite URL
- What data is stored in discord_webhooks or any new table
- The list of slash commands the bot offers
- Who maintains the bot
Each change is dated at the top of this page and announced in the #-announcements channel of the official ESO Housing Discord.
Questions, concerns, or noticed something off? Reach out via the contact form or DM @Vaelarn on Discord.