Skip to main content

dcx-pd

Discord Chat Exporter (by Tyrrrz) json output parser to typed Pydantic V2 objects

NOTE: This project has no affiliation with Discord nor Tyrrrz. This was made by another person and is unofficial.

Installation

$ pipx install dcx-pd (pipx, recommended) or $ pip install dcx-pd

How to use:

After installation dcx entry point will be available in your shell.

Linux and Mac

Provide list of paths to json files as arguments (space separated):

$ dcx /exports/* # automatically expand the glob via bash/zsh/unix shells
# OR
$ dcx /exports/server1-channel1-1234123412341234.json /exports/server1-channel2-507642999992352779.json
Windows

Provide list of paths to json files as arguments (space separated):

> dcx /exports/server1-channel1-1234123412341234.json /exports/server1-channel2-507642999992352779.json

You will be put in an interactive python interpreter, with pre-set variables export and exports. There's also a better sys.displayhook which will color the output of any object you inspect.

==> Loading 'server1-channel1-1234123412341234.json'...
==> Loading 'server1-channel2-507642999992352779.json'...
==> Loaded 10,250 messages (mem: 176.70MB)
==> (i) Variables export and exports contain exports[0] and the list[dcx.Export] itself respectively
==> Python 3.13.2 (tags/v3.13.2:4f8bb39, Feb  4 2025, 15:23:48) [MSC v.1942 64 bit (AMD64)] on win32
>>>

You can use any python expression to filter through the exports. Filtering mechanisms may be added in future versions, example:

>>> [message for export in exports for message in export.messages if "hello" in message.content].__len__()
4
>>> [message for export in exports for message in export.messages if "hello" in message.content]
[
Message(**{
        "id": 1234123412341234,
        "type": MessageType.REPLY: "Reply",
        "timestamp": <21:47:04.838000+0200 27-04-2024, Sat>,
        "timestamp_edited": None,
        "timestamp_call_ended": None,
        "is_pinned": False,
        "content": "uhhh hello? downloadmoreram.com",
        "author": {
            "color": 0xAA00FF,
            "id": 1234123412341234,
            "name": "example",
            "discriminator": "0000",
            "nickname": "Example",
            "is_bot": False,
            "avatar_url": "/exports/assets/avatar0.png",
            "roles": [],
        },
        "attachments": [],
        "embeds": [],
        "stickers": [],
        "reactions": [],
        "mentions": [],
        "inline_emojis": None,
        "reference": {
            "message_id": 123123123123123123,
            "channel_id": 12345123451234512345,
            "guild_id": 1234561234561234561234,
        },
        "interaction": None,
    }),
]

Metadata

Release files for dcx-pd 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dcx-pd 0.0.4
File Size Uploaded Provenance Actions
dcx_pd-0.0.4.tar.gz 20.3 kB Without provenance Details for dcx_pd-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dcx-pd 0.0.4
File Interpreter ABI Platform Actions
dcx_pd-0.0.4-py3-none-any.whl Python 3 none any Details for dcx_pd-0.0.4-py3-none-any.whl

Total release size: 40.4 kB

Release files / dcx_pd-0.0.4.tar.gz

Download URL dcx_pd-0.0.4.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bda4faeef266543d8d4e2beb330e261ee5848614d54389aa6b8efd88b0de8223
BLAKE2b-256 checksum
How to use checksums
cd8b4d03de2214c1c159d3f85b941f40e7380a8a486f19aa9927cc95752bed44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / dcx_pd-0.0.4-py3-none-any.whl

Download URL dcx_pd-0.0.4-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47c6ab1adf9f8314b664f601a3662dc510f7b6ba1c6eb3bc0f6142bf479613f0
BLAKE2b-256 checksum
How to use checksums
9f7343202e66571a559cbbff765a094ddd5de1384d732655cadb832824e8699d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Security for dcx-pd 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page