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.4.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15cde6ca32bf49fc0d46d5b34a22fb6938fa1c1d0d36b3b2c5787fe20e9b6c44 |
|
MD5 | 410cd2beaf7f511e2bbc0fe9ab75d9c4 |
|
BLAKE2b-256 | 8bc15721eebd23941087efe37ca1891cc51598addff74d12ad2af5dcc8edf2b8 |