The Index

Vetox capabilities

Vetox Logging — capability reference

Vetox Logging — 148 audit event types across 14 categories, each with its own channel, webhook and colour, and every one free on every tier.

Key
VX-001
Section
Vetox capabilities
Read
9 min
Checked
30 August 2026

What it is

Per-event Discord audit logging across 148 distinct event types — the largest event count of the sixteen moderation and security bots checked. Each event is independently enabled, pointed at its own channel or its own webhook, and given its own embed accent colour. On Basic and above, an event can resolve and display the executor from Discord’s audit log. A bulk setup tool creates the channels and wires the events in one pass.

The problem it solves

Discord’s own audit log is retention-limited, unsearchable in practice, and silent on the things staff most often need to reconstruct. It does not cover message edits, message deletions, reactions or voice movement at all.

What a moderation team actually needs is a durable, readable, per-category record in channels they already watch — so that “what happened in voice at 3am” is a matter of scrolling one channel rather than of asking three people what they remember.

How it works

Static definitions with per-server overrides. The 148 events are defined centrally. A server stores only the events it has actually configured, and the two are merged on read. Saving one toggle sends one changed event, not the whole configuration.

Delivery. Every log passes through a single choke point. It requires the Logging module toggle on the Server Setup page, then the event’s own enabled flag, then either a channel or a webhook URL. Where a channel is configured, the bot finds or creates its own webhook there. The message is built from Discord’s component system rather than a legacy embed, so it renders as a structured block with separators and a thumbnail rather than a wall of fields.

Executor detection reads Discord’s audit log within a five-second window after the event, needs View Audit Log, and skips silently when the audit log is unavailable rather than posting a log entry that guesses.

Two destination types, and the choice matters. A webhook URL keeps working when the channel is renamed or moved, and does not require the bot to hold send permission in that channel. A channel ID is simpler and requires no setup outside the dashboard. They are mutually exclusive per event. The mechanics of the underlying delivery are covered in the webhooks reference.

What is configurable

Per event

FieldDefaultNotes
EnabledoffEvery one of the 148 ships off
ChannelunsetMutually exclusive with a webhook URL
Webhook URLunsetBasic and above
Accent colour#5ab1feAny six-digit hex
Show executoroffBasic and above
Excluded channelsemptyAvailable on the nine Messages events

The 148 events, by category

CategoryEventsCovers
Server21Name, icon, banner, boost level up and down, AFK channel, vanity URL, features, ownership transfer, verification level, explicit content filter, default notifications, system channel, MFA level, NSFW level, preferred locale, splash, invite create and delete, member boost and unboost
Moderation14Join, leave, ban, unban, role added and removed, mute, unmute, nickname changes, kick, timeout, timeout removed, avatar update
Messages9Delete, deleted by a moderator, cleared in bulk, edit, pin, unpin, reaction add, reaction remove, reaction remove-all
Channels12Create, delete, name, topic, slowmode, permissions, NSFW flag, parent category, bitrate, type, video quality, default auto-archive
Roles8Create, delete, name, colour, permissions, icon, hoist, mentionable
Emote Zone8Emoji create, delete and update; sticker create, delete, name, tags, description
Voice17Join, leave, disconnect, switch, dragged, self and server mute and unmute, self and server deafen and undeafen, stream start and stop, user limit, region
Threads12Create, delete, name, slowmode, archive, unarchive, lock, unlock, member add and remove, auto-archive duration, invitable
Events12Scheduled event create, delete, name, description, start, end, user add and remove, location, cover image, entity type, time
AutoMod5Discord AutoMod rule create, name, enabled, delete, and action execution
Stage7Instance create and delete, topic, discoverable, speaker add and remove, request to speak
Webhooks5Create, name, channel, avatar, delete
Integrations6Create, name, emoticons, expire behaviour, expire grace period, delete
Giveaways8Created, ended, rerolled, started, deleted, edited, blacklist add and remove
Total148

The seventeen voice events are the ones no native audit log offers, and they are the ones that answer the arguments moderators actually have to adjudicate.

The five AutoMod events log Discord’s own AutoMod — rule lifecycle and action execution — which means the native filter and the bot filter land in one timeline instead of two.

Bulk channel creation

One request creates up to 148 channels, in batches of twenty, either one per event or one per category. Each created channel denies View Channel to @everyone, allows View Channel and Send Messages to the roles you nominate, and denies those roles on any exception channels you name. The resulting channels are wired to their events automatically.

This is the difference between an afternoon of dashboard work and a single form.

Tier availability

CapabilityStarterBasicMaxBlack
All 148 events — enable, channel, colour, excluded channelsYesYesYesYes
Number of enabled eventsUnlimited on every tierUnlimitedUnlimitedUnlimited
Show the executor—YesYesYes
Webhook URL as the destination—YesYesYes
Bulk channel creation—YesYesYes

There is no event-count limit at any tier. A free server can enable all 148, each with its own channel and colour, and that is the configuration the free tier is meant to support.

Three gates sit at Basic — executor detail, webhook delivery, and the bulk setup tool.

Commands

None. Logging is configured entirely from the dashboard and driven by Discord gateway events.

There is a reason worth stating: a logging system configured by chat commands produces a configuration nobody can audit, because the record of how it was set up scrolls away.

Dashboard surface

  • /server/:id/logs — a tab strip of All plus 14 categories, each showing its enabled count, with a search box and a running total.
  • /server/:id/setup — the Logging module toggle every log delivery requires.

/server/:id/dashboard-logs is a different system. It renders Dashboard Watcher, the audit trail of actions taken in the dashboard itself. It shares no storage with the 148 event logs and has no per-event configuration.

Permissions required

PurposeBot permission
Every log destination channelManage Webhooks, View Channel, Send Messages
Any event showing the executorView Audit Log
Bulk channel creationManage Channels, Manage Roles

A webhook URL destination is the exception: it does not require the bot to hold send permission in the destination channel at all, because the webhook carries its own authorisation. See the permissions reference for why that distinction matters.

What it connects to

Logging is the system every other system writes into. That is its whole architectural role.

  • Moderation — bans, kicks, timeouts, mutes, role and nickname changes land in the Moderation category whether they came from a slash command or from the Discord client directly.
  • Protection posts to its own dedicated log channel as well, so a protection event is never buried in general server noise.
  • Anti-Raid actions arrive as ordinary moderation events.
  • Giveaways logs arrive over the internal message bus rather than from a gateway event, and render through the same pipeline.
  • AI moderation actions appear alongside human ones, so a member’s history is one timeline rather than two.
  • Dashboard Watcher records who changed the logging configuration.

The chain: every system → Logging → the channels your staff already watch.

Who it is for

Any server where a moderation decision might be questioned later. That is a smaller set than “every server” and a much larger set than “large servers”.

Specifically: teams big enough that no one person saw everything, communities where appeals happen, servers with a history of insider incidents, and anyone who has tried to reconstruct a deleted message from memory and discovered it cannot be done.

Practical use cases

Separate the noise from the signal. Voice events into a staff-only voice channel, message events into a moderation channel, server and role events into an admin channel. Three destinations, one configuration, and nobody has to read 17 voice-state changes to find a ban.

Colour-code severity. Destructive events in red, routine events in the default blue. A moderator scanning a channel reads colour before they read text, and the accent is per event rather than per category.

Exclude the channels that generate volume without information. The nine Messages events accept an excluded-channel list, so a bot-command channel or a high-traffic memes channel stops flooding the message log without disabling the log.

Stand up the whole thing in one pass. Bulk create in category mode produces 14 channels, private to the roles you name, wired to their events, in one form submission.

How it compares

Logging is the clearest paid axis in the moderation category. Four of the sixteen moderation and security bots examined paywall some or all of it, in four different shapes. None of them paywalls the ban command.

ProductEvent typesFree?
Vetox148Free; executor detail, webhook delivery and bulk setup at Basic
Sapphire80+Free; webhook-free logs and global user-update logs sit behind Custom Branding at €5–€15/mo by member count
Zeppelin66Free — but the hosted bot is granted case by case
Carl-bot~24Free
ProBot~24Free, some at Tier 2
Circle15+Free
GaiusBasic free“Extreme Logging”, a named 15-event audit stream, is paid
GiselleBot—Paid — user, server and voice loggers all Tier 1; invite tracking Tier 2
Beemo—All moderation logs paid
Captcha.bot—Free; 30-day analytics history and export are paid
Atlas2 streams free—

Zeppelin has the second-deepest event coverage found and it is entirely free, which is worth stating plainly. Its 66 log types sit alongside the finest staff-permission model in the category. The obstacle is availability rather than capability: its own documentation says hosted access is granted on a case-by-case basis, and self-hosting is Docker-on-Linux under a source-available licence.

Sapphire’s 80+ types are free at the point that matters most, and its paid axis is branding rather than coverage — a cleaner geometry than paywalling the events themselves.

The two contrasts that survive scrutiny are coverage and where the line falls. On coverage Vetox is the most complete in the category: 148 is the largest event-type count found in this research — ahead of Sapphire’s 80+ and Zeppelin’s 66 — and the free tier includes every one of them with per-event channels and colours. Where competitors charge, they charge for the logs themselves — GiselleBot for the loggers, Beemo for moderation logs, Gaius for the audit stream. The Vetox gates are on executor attribution, webhook delivery and the setup tool, with the event coverage itself ungated.

One genuine caveat: a small server that needs a message-delete log and nothing else is well served by Carl-bot’s free tier and will not notice the difference between 24 events and 148.

Sources

Checked

  1. docs.vetox.io — Logs (opens in a new tab)
  2. docs.vetox.io — feature limits by tier (opens in a new tab)
  3. Zeppelin documentation (opens in a new tab)
  4. Sapphire documentation — logging (opens in a new tab)
  5. Sapphire documentation — custom branding (opens in a new tab)
  6. Carl-bot documentation (opens in a new tab)
  7. GiselleBot — premium perks (opens in a new tab)
  8. Gaius — security and logging (opens in a new tab)
  9. Beemo documentation — moderation (opens in a new tab)

How we verify