How Auto-Transcripts Work
One of the most powerful features in Nexcord Pro is auto-transcripts. Set it up once and never think about it again — your channels archive themselves.
Here's how it works under the hood.
The scheduler
When you enable auto-transcripts for a channel, Nexcord stores a schedule record in the database: the guild ID, channel ID, frequency (hourly / daily / weekly), and the timestamp of the last run.
A background scheduler process runs every minute and queries for schedules that are due. "Due" means the current time is past the next scheduled run time. When a schedule is due, it gets picked up and a transcript job is queued.
Message collection
Each job fetches messages from the Discord channel using the Discord API. We collect messages in batches of 100 (the API limit per request) and paginate backwards until we hit the previous transcript's cutoff point — so every auto-transcript picks up exactly where the last one left off, with no gaps and no duplicates.
HTML generation
Once the messages are collected, they're passed through the transcript generator. This converts each message into structured HTML, resolving user mentions, channel references, role mentions, and custom emoji to their display names. Attachments get thumbnailed. Embeds are rendered faithfully.
The resulting HTML is a self-contained, styled page that looks like Discord — the same output you'd get from a manual /transcript command.
Storage
The generated HTML file is uploaded to object storage (S3-compatible), and a database record is created with metadata: guild, channel, message count, and a pointer to the stored file.
Delivery
After generation, the bot posts a message to a designated log channel in your server with a link to the new transcript. You can also configure a webhook to push transcript links to an external system.
Rate limiting
Auto-transcripts respect Discord's API rate limits. The scheduler uses a token bucket rate limiter, and any failed jobs are retried with exponential backoff. If a channel goes offline or the bot loses access, the job fails gracefully and logs the error without crashing the scheduler.
The result: a fully automated archive of your community's history, running silently in the background.
Enjoyed this? Add Nexcord to your server.
Start archiving your Discord channels in minutes — free for every server.