A simple Discord chat exporter for Python Discord bots.
Project description
DiscordChatExporterPy is a Python plugin for your discord.py bot, allowing you to export a discord channels history within a guild.
Installing
To install the library to your bot, run the command:
pip install chat-exporter
To install the repository, run the command:
git clone https://github.com/mahtoid/DiscordChatExporterPy
Usage
Basic Usage
import discord
import chat_exporter
from discord.ext import commands
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix="!", intents=intents)
@bot.event
async def on_ready():
print("Live: " + bot.user.name)
chat_exporter.init_exporter(bot)
@bot.command()
async def save(ctx):
await chat_exporter.quick_export(ctx)
if __name__ == "__main__":
bot.run("BOT_TOKEN_HERE")
Optional: If you want the transcript to display Members (Role) Colours then enable the Members Intent.
Customisable Usage
import io
...
@bot.command()
async def save(ctx, limit: int, tz_info):
transcript = await chat_exporter.export(ctx.channel, limit, tz_info)
if transcript is None:
return
transcript_file = discord.File(io.BytesIO(transcript.encode()),
filename=f"transcript-{ctx.channel.name}.html")
await ctx.send(file=transcript_file)
Optional: limit and tz_info are both optional, but can be used to limit the amount of messages transcribed or set a ‘local’ (pytz) timezone for the bot to transcribe message times to.
Raw Usage
import io
...
@bot.command()
async def purge(ctx, tz_info):
deleted_messages = await ctx.channel.purge()
transcript = await chat_exporter.raw_export(ctx.channel, deleted_messages, tz_info)
if transcript is None:
return
transcript_file = discord.File(io.BytesIO(transcript.encode()),
filename=f"transcript-{ctx.channel.name}.html")
await ctx.send(file=transcript_file)
Optional: tz_info is optional, but can be used to set a ‘local’ (pytz) timezone for the bot to transcribe message times to.
Screenshots
Links
Attributions
This project borrows CSS and HTML code from Tyrrrz’s C# DiscordChatExporter repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chat_exporter-1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a629167cbacc5f5b83eefd6f913d805032f6cddca172c2e37535ff37021b30c6 |
|
MD5 | 5cd03085bf6afe5b8ab1ead9ee2dd25e |
|
BLAKE2b-256 | 9a8ad3bd8d4709645b27072ebe4c2fc65ed12f764fb5978edc849e559872b6bd |