All posts

How to keep a warning and strike log in Discord

CordBase Team

A warning log is a table with one row per incident (the member, the reason, how serious it was, who issued it and when) that moderators fill in with a slash command, so the whole team sees the same history before deciding what to do next. Without one, a moderator remembers a verbal warning from last month and the rest of the team never hears about it.

This guide sets one up with CordBase, which we build. First, what it is not: CordBase does not warn, mute, kick or ban anyone. It records. You still take the action with Discord's own tools or a moderation bot such as Carl-bot or Dyno, then log it here.

What you'll end up with

  • A /warn-strike-log command for moderators with add, query, view, update and delete actions.
  • A row per incident: member, reason, severity, issued by, date and whether it is still active.
  • A log that only your moderator role can see or change.

Step 1: Add CordBase and install the template

  1. Sign in at cordbase.gg with Discord, pick your server and add the bot when the dashboard asks.
  2. Install Warn / Strike Log. It has member (a member picker, required), reason (text, required), severity (Verbal Warning, Written Warning, Strike, Temp Ban or Perm Ban, required), issued by (member, required), date (required) and active (true/false).

You can edit the severity choices to match your server's rules.

Step 2: Keep it private

This is the important step. New tables let everyone use them. For a moderation log:

  • Give your moderator role write (or admin for senior staff who may delete entries).
  • Give no role to regular members.

Once any role is set on a table, members without one of those roles can't use it at all. Do not give the everyone role read access, or members will be able to run /warn-strike-log query on each other. Anyone with Discord's Administrator permission keeps full access either way.

Use the command in a moderators-only channel too, since the bot's replies are visible to whoever can see the channel.

Step 3: Log an incident

/warn-strike-log add member:@Jay reason:Spamming invite links in #general severity:Written Warning issued_by:@Priya date:2026-10-08 active:true

The member and issued-by options are member pickers, and severity is a menu, so entries stay consistent. Dates use the YYYY-MM-DD format.

Step 4: Check the history before you act

  • /warn-strike-log query member:@Jay lists everything logged for Jay, newest first.
  • /warn-strike-log query severity:Strike shows every strike.
  • /warn-strike-log query active:true shows incidents still counting.
  • /warn-strike-log view row:... (picked from the list) shows one incident in full, with who added it and when.

When a warning expires, pick the row and set it to inactive: /warn-strike-log update row:... active:false. The record stays; it just stops counting.

When something else fits better

If you want automatic action, for example muting after three warnings, use a moderation bot that does that and logs its own cases. CordBase has no automations, no DMs to members and no link to Discord's ban list. A CordBase log is the right fit when you want a human-readable record that works across whatever tools your team uses, or one place to note incidents that happened off-platform.

Moderation records are personal data. Keep the log to what your team needs, and see our privacy page for how CordBase handles data.

Limits worth knowing

  • Free: 2 tables, 100 rows each. Pro ($8/month) raises that to unlimited tables and 10,000 rows per table and adds CSV and JSON export.
  • Up to 25 columns per table.
  • Tables are designed on the web; members can't create new tables from Discord.

Questions people ask

Can CordBase warn, mute or ban members automatically?

No. It records incidents you enter. Use Discord's moderation tools or a moderation bot to take the action.

Can members see their own warnings?

Only if their role has read access to the table, which also lets them query other members. For a private log, give access to moderators only.

Can I export the log?

Paid plans can export a table to CSV or JSON from the dashboard.