A simple Discord chat exporter for Python Discord bots.
Project description
DiscordChatExporterPy is a Python lib for your discord.py (or forks) bot, allowing you to export Discord channel history in to a HTML file.
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
NOTE: If you are using discord.py 1.7.3, please use chat-exporter v1.7.3
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)
@bot.command()
async def save(ctx: commands.Context):
await chat_exporter.quick_export(ctx.channel)
if __name__ == "__main__":
bot.run("BOT_TOKEN_HERE")
Customisable Usage
import io
...
@bot.command()
async def save(ctx: commands.Context, limit: int, tz_info):
transcript = await chat_exporter.export(
ctx.channel,
limit=limit,
tz_info=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.
‘limit’ is to set the amount of messages to acquire from the history.
‘tz_info’ is to set your own custom timezone.
Raw Usage
import io
...
@bot.command()
async def purge(ctx: commands.Context, tz_info):
deleted_messages = await ctx.channel.purge()
transcript = await chat_exporter.raw_export(
ctx.channel,
messages=deleted_messages,
tz_info=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.
‘tz_info’ is to set your own custom timezone.
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for chat_exporter-2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbf8c3a9d2cd481f274a1303f649a849174b3bf5b19a36f996dc5a871d7d01b3 |
|
MD5 | 96f198e2a46ad0b6217b7fb4a44d76bd |
|
BLAKE2b-256 | cd97933ce242c6c69e9b6504045a1db863728231f74975cf5023b3e0bd5d4a5a |