◆ — ◇ — ◆
ESO Housing
◆ ━━ ◇ ━━ ◆

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.

Last updated 2026-04-21

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.

Section One

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
Section Two

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.

Section Three

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.

Section Four

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.

Section Five

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.