{"id":28755692,"url":"https://github.com/reinacchi/seria","last_synced_at":"2026-03-12T04:30:56.781Z","repository":{"id":299443438,"uuid":"1000973148","full_name":"reinacchi/seria","owner":"reinacchi","description":"A Rust-based library for interacting with Revolt.","archived":false,"fork":false,"pushed_at":"2025-06-24T10:40:20.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-24T10:55:53.490Z","etag":null,"topics":["revolt","rust"],"latest_commit_sha":null,"homepage":"https://seria.2rkf.me","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/reinacchi.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}},"created_at":"2025-06-12T15:54:28.000Z","updated_at":"2025-06-24T10:40:23.000Z","dependencies_parsed_at":"2025-06-16T16:09:28.998Z","dependency_job_id":"6cc8994a-1a8a-4a0a-bfc4-3b969c2a3338","html_url":"https://github.com/reinacchi/seria","commit_stats":null,"previous_names":["reinacchi/seria"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reinacchi/seria","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinacchi%2Fseria","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinacchi%2Fseria/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinacchi%2Fseria/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinacchi%2Fseria/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reinacchi","download_url":"https://codeload.github.com/reinacchi/seria/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinacchi%2Fseria/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264795384,"owners_count":23665227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["revolt","rust"],"created_at":"2025-06-17T02:39:41.535Z","updated_at":"2026-03-12T04:30:56.734Z","avatar_url":"https://github.com/reinacchi.png","language":"Rust","funding_links":[],"categories":["💻 API Libraries"],"sub_categories":["Rust"],"readme":"# Seria\n\n![seria logo](logo.png)\n\n- **⚠️ This library is heavily Work in Progress!! Please do not use yet.**\n\n**Seria** is a Rust-based library for interacting with Revolt.\n\n## Installation\n\nSeria supports a MSRV of **Rust 1.76 or later**.\n\n```toml\n# Add crate to your Cargo.toml\n[dependencies]\nseria = \"*\"\ntokio = { version = \"*\", features = [\"macros\", \"rt-multi-thread\"] }\n```\n\n## Ping Pong Example\n\n```rs\nuse seria::{\n    client::{SeriaClient, SeriaClientBuilder},\n    models::{GatewayEvent, MessageSend},\n    SeriaResult,\n    StreamExt,\n};\nuse std::{pin::pin, sync::Arc};\nuse tracing::{error, warn};\n\nasync fn handle_event(event: GatewayEvent, client: Arc\u003cSeriaClient\u003e) {\n    match event {\n        GatewayEvent::Ready =\u003e {\n            if let Ok(user) = client.http.get_self().await {\n                println!(\"{}#{} is Ready!\", user.username, user.discriminator);\n            }\n        }\n        GatewayEvent::Message(message) =\u003e {\n            let content = message.content.to_string();\n\n            if content == \"!ping\" {\n                let payload = MessageSend {\n                    content: \"Pong!\".to_string(),\n                    ..Default::default()\n                };\n\n                if let Err(e) = client.http.send_message(\u0026message.channel, payload).await {\n                    error!(\"Failed to send message: {}\", e);\n                }\n            }\n        }\n        _ =\u003e {}\n    }\n}\n\n#[tokio::main]\nasync fn main() -\u003e SeriaResult\u003c()\u003e {\n    tracing_subscriber::fmt::init();\n\n    let token = \"REVOLT_TOKEN\";\n\n    let mut client = SeriaClientBuilder::new().\n        token(token)\n        .build()?;\n\n    client.connect().await?;\n\n    let client = Arc::new(client);\n\n    let mut event_stream = pin!(client.gateway.clone());\n\n    while let Some(item) = event_stream.next().await {\n        match item {\n            Ok(event) =\u003e {\n                let client = Arc::clone(\u0026client);\n                tokio::spawn(async move {\n                    handle_event(event, client).await;\n                });\n            }\n            Err(e) =\u003e {\n                warn!(error = ?e, \"Failed to receive event\");\n            }\n        }\n    }\n\n    Ok(())\n}\n```\n\n## Useful Links\n\n- [The official Seria Revolt server](https://rvlt.gg/g65YG8CA) - A place where you can receive support and updates.\n- [The website](https://seria.2rkf.me) - The official website and documentation for Seria.\n\n## License\n\nPlease refer to the [LICENSE](https://github.com/reinacchi/seria/blob/master/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freinacchi%2Fseria","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freinacchi%2Fseria","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freinacchi%2Fseria/lists"}