discord-protos
Discord user settings protobufs.
What it is and what it does
discord-protos is a Python package containing automatically-generated protocol buffer definitions extracted from Discord's client source code. It provides ready-to-use message classes for encoding and decoding Discord's internal data formats, particularly user settings like PreloadedUserSettings and FrecencyUserSettings. The package is maintained by tracking changes in Discord's protobufs and releasing updates automatically when new definitions are detected.
The package depends on protobuf and mypy-protobuf for runtime support. It is designed for developers who need to work with Discord's wire protocol or settings data outside the official Discord API—for example, building custom clients, analyzing settings structures, or integrating with Discord's internal message formats. The protobufs are provided as compiled Python modules ready for import and use.
Use it for:
- Serialize and deserialize Discord user settings (status, custom status, preferences) for custom Discord client implementations.
- Encode user settings data to base64 for transmission or storage in a format compatible with Discord's protocol.
- Parse and inspect Discord's internal protobuf messages when reverse-engineering or analyzing Discord client behavior.
- Build Discord bots or tools that need to work with user settings data at the protocol level.
- Test or validate Discord protocol changes by comparing generated protobufs against known message structures.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings for Discord's protocol buffer definitions, enabling serialization and deserialization of Discord user settings and related data structures.
Yes, if you are building custom Discord clients or tools that need to work with Discord's internal protobuf formats. The package is actively maintained, has low install friction, carries a permissive MIT license, and has no known security vulnerabilities. However, be aware that reverse-engineered protobufs may change without notice as Discord updates its client, and you should verify compatibility with your use case before relying on it in production.
Install
discord-protos on PyPI
pip
pip install discord-protosuv
uv add discord-protospoetry
poetry add discord-protosInstalling discord-protos
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a release on 2026-08-14 and regular updates tied to Discord client changes. Depends on protobuf and mypy-protobuf, both standard tooling.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making this suitable for both open-source and commercial projects.
Quickstart
pip install discord-protos
import base64
from discord_protos import PreloadedUserSettings
settings = PreloadedUserSettings()
payload = settings.SerializeToString()
encoded = base64.b64encode(payload).decode('ascii')
Requires Python 3.8 or later; protobuf library must be installed as a runtime dependency.
Verify before relying
- Whether the automatically-generated protobufs remain compatible across Discord client versions without breaking changes.
- Performance characteristics when handling large or deeply-nested protobuf messages.
- Whether reverse-engineered protobufs are subject to Discord's terms of service or legal constraints.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.8.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — protobuf, mypy-protobuf |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 110,523/month — #12,454 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: discord_protos-1.2.296-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
dbt-protosProvides Python Protocol Buffer bindings for…
permissive · top 1,000 on PyPI
opensearch-protobufsProvides pre-generated Python Protocol Buffer…
permissive · top 5,000 on PyPI
gtfs-realtime-bindingsProvides pre-generated Python classes for…
permissive · top 15,000 on PyPI
bbpbDecode and re-encode Protocol Buffer messages…
permissive · top 15,000 on PyPI
pure-protobufEncodes and decodes Protocol Buffer messages…
permissive · top 15,000 on PyPI
proto-plusProto Plus wraps protocol buffers to provide…
permissive · top 1,000 on PyPI
substrait-protobufProvides Python protobuf bindings for the…
permissive · top 15,000 on PyPI
pbtoolsGenerates C source code from Protocol Buffer…
permissive · top 15,000 on PyPI
proto-google-cloud-datastore-v1Provides Protocol Buffer definitions and gRPC…
permissive · top 15,000 on PyPI
mcap-protobuf-supportAdds protobuf message deserialization support…
permissive · top 15,000 on PyPI