{"id":41144237,"url":"https://github.com/hitblast/filthy-rich","last_synced_at":"2026-05-09T08:10:24.933Z","repository":{"id":334023332,"uuid":"1139706874","full_name":"hitblast/filthy-rich","owner":"hitblast","description":"Tiny Discord Rich Presence wrapper library for apps.","archived":false,"fork":false,"pushed_at":"2026-02-20T18:19:45.000Z","size":150,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-20T22:19:24.145Z","etag":null,"topics":["development-tools","discord","discord-rich-presence","library","rich-presence","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/filthy-rich","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hitblast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-22T10:03:28.000Z","updated_at":"2026-02-20T18:19:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hitblast/filthy-rich","commit_stats":null,"previous_names":["hitblast/filthy-rich"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/hitblast/filthy-rich","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitblast%2Ffilthy-rich","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitblast%2Ffilthy-rich/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitblast%2Ffilthy-rich/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitblast%2Ffilthy-rich/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hitblast","download_url":"https://codeload.github.com/hitblast/filthy-rich/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitblast%2Ffilthy-rich/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31405494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development-tools","discord","discord-rich-presence","library","rich-presence","rust"],"created_at":"2026-01-22T18:53:54.113Z","updated_at":"2026-05-09T08:10:24.921Z","avatar_url":"https://github.com/hitblast.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./assets/art.png\" width=\"120px\" align=\"center\"\u003e\n\n# \u003cimg src=\"https://github.com/github/explore/blob/main/topics/rust/rust.png?raw=true\" width=\"40px\"\u003e filthy-rich\n\n**Tiny, ergonomic Discord Rich Presence library for your Rust apps.**\u003cbr\u003e\n\n![Crates.io Total Downloads](https://img.shields.io/crates/d/filthy-rich)\n![Crates.io MSRV](https://img.shields.io/crates/msrv/filthy-rich)\n![Crates.io Size](https://img.shields.io/crates/size/filthy-rich)\n![Crates.io License](https://img.shields.io/crates/l/filthy-rich)\n\n\u003c/div\u003e\n\n```rust\n//! A sneak-peek into what you will be working with:\n//!\nuse filthy_rich::{PresenceRunner, errors::PresenceError, types::Activity};\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), PresenceError\u003e {\n    let mut runner = PresenceRunner::new(\"1463450870480900160\");\n\n    let activity = Activity::new()\n        .name(\"cool app name\")\n        .details(\"Something?\")\n        .state(\"Probably~\")\n        .build()?;\n\n    let client = runner.run(true).await?;\n    client.set_activity(activity).await?;\n\n    // indefinitely block here\n    runner.wait().await?;\n\n    Ok(())\n}\n\n```\n\n### Bulletin\n\n\u003e [!WARNING]\n\u003e Even though this library follows most of Discord's spec-sheet, some features which are not even implemented in Discord itself but were included in the documentation have been skipped for a smoother experience.\n\n\u003e [!NOTE]\n\u003e Requires Rust 1.85.0 or later (MSRV).\n\n## Getting Started\n\nAdd `filthy-rich` to your project with this command:\n\n```bash\ncargo add filthy-rich\n```\n\n## 🌺 Features\n\n- Really easy to implement; just create a client ID at the [Discord Developer Portal](https://discord.com/developers) and you're good to go.\n- Fruitful `Activity` builder with a *type-state builder pattern* - guaranteed to make you fall in love with setting presences.\n- Ergonomic `on_ready`, `on_activity_send` and other event registers to work with are *all included*.\n- 100% coverage of the usable spec of Discord RPC (presence-related only).\n- Fully asynchronous but easily wrappable for synchronous usage.\n- *Client-runner architecture* for easy use in multithreaded apps or contexts.\n- Automatically reconnects on disconnect, making your presence persist for prolonged periods of time.\n- (TODO) Supports optional auth flow for elevated privileges.\n\n## Starter Snippets\n\nExamples are included with the project. See these:\n\n1. For an indefinitely running, elaborate rich presence, [see this](./examples/indefinite.rs).\n2. For an timed, changing rich presence, [see this](./examples/timed.rs).\n3. For a very simple snippet, [see this](./examples/simple.rs).\n\nTo run these:\n\n```bash\n# First, clone and `cd` into the repository.\ngit clone https://github.com/hitblast/filthy-rich \u0026\u0026 cd filthy-rich\n\n# Now, run any of the examples:\ncargo run --example indefinite  # ex. 1\ncargo run --example timed  # ex. 2\ncargo run --example simple  # ex. 3\n```\n\n## API Reference (docs.rs)\n\nhttps://docs.rs/filthy-rich/latest/filthy_rich/\n\n## Off-Topic Literature\n\n#### Yet another library?\n\nI did not want to bother myself with manually implementing Rich Presence everytime I start working on an app, so I created this library to make things much simpler; I just wanted a client that does its job in the background.\n\nAlso, other implementations felt much more complex to me and also felt like they lacked precise control. This is a more \"spread-out\" opinion and might hide the truth for some libraries, but yeah, nothing better than throwing your own luck into making yet another IPC RPC client.\n\n#### Inspirations\n\nAn attempt to make an eye-candy syntax for this library was inspired by [discord.py](https://github.com/Rapptz/discord.py).\n\n## Contributing\n\nIf you want to contribute to this project, be sure to follow the [contribution guidelines](./CONTRIBUTING.md) and prep your environment as mentioned before doing so. Thank you for showing your interest!\n\n#### Contributors\n\nAmazing people adding amazing stuff to this library:\n\n- [Sirokovsk](https://github.com/Sirokovsk)\n- [Sreehari425](https://github.com/Sreehari425)\n\n## Changelog\n\nFor a comprehensive release changelog of this library, please refer to [CHANGELOG.md](./CHANGELOG.md). The release changelogs are compiled from\nthe core changelog as a part of the release CI.\n\n## License\n\nLicensed under [MIT](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitblast%2Ffilthy-rich","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhitblast%2Ffilthy-rich","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitblast%2Ffilthy-rich/lists"}