Skip to main content

discord-transcripts

Generate Discord chat transcripts with ease.

Self-contained HTML transcripts with embedded CSS, dark/light themes, polls, voice messages, search, and more. No external dependencies in the output.

npm install @getoeteter/discord-transcripts
🔌

Drop-in discord.js Support

Pass a channel, get HTML back. Handles message fetching, role resolution, and member colors automatically.

📦

Fully Self-Contained

Output is a single HTML file with all CSS and JS baked in. No external fonts, scripts, or stylesheets. Just Discord CDN for media.

💬

Everything Discord Has

Embeds, polls, voice messages, threads, slash commands, reactions, stickers, components (V1 + V2), and 24+ syntax-highlighted languages.

🎨

Dark & Light Themes

Pixel-perfect Discord themes with full CSS variable support. Inject your own styles or swap out the font.

🔍

Interactive Features

Message search, date navigation, user stats, image lightbox, collapsible embeds, copy buttons, and pagination.

🛠️

Standalone Mode

Don't use discord.js? Pass your own data to generateTranscriptHtml and get the same output. Works with any data source.

A few lines of code is all you need

bot.ts
import { createTranscript } from "@getoeteter/discord-transcripts";

const result = await createTranscript(channel, {
theme: "dark",
enableSearch: true,
});

await interaction.editReply({
files: [{ attachment: result.buffer, name: result.filename }],
});