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.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d76227f9b6adcef42d89effac38d6357c007c58254afeb57b87ddd441d5f1693 |
|
MD5 | d42722152ecf7a03cb2fa23e8b729dba |
|
BLAKE2b-256 | c594204927925d1faf218b861c161ea485274c94f61e775d7c0bce0829447b4e |