3 releases (breaking)

0.5.0 Mar 20, 2022
0.4.0 Feb 1, 2022
0.3.0 Jan 30, 2022

#19 in #revolt

MIT license

105KB
2.5K SLoC

Ruvolt

ruvolt is an API library to interact with Revolt Chat APIs and create bots.

Getting started

Installation

To use ruvolt we need ruvolt, async-trait and an asynchronous runtime, let's use the tokio. Add this to your Cargo.toml dependencies section and run cargo build to compile dependencies.

ruvolt = "*"
async-trait = "*"
tokio = { version = "*", features = ["macros", "rt-multi-thread"] }

Example - Ping/Pong bot

use {
    async_trait::async_trait,
    ruvolt::{models::Message, Client, Context, EventHandler, Result},
    std::env,
};

struct Handler;

#[async_trait]
impl EventHandler for Handler {
    async fn message(&self, cx: Context, msg: Message) {
        let content = msg.content.to_string();

        if content == "!ping" {
            msg.reply(&cx, "Pong!", true).await.ok();
        }
    }
}

#[tokio::main]
async fn main() -> Result {
    let token = env::var("TOKEN").unwrap();
    let mut client = Client::new(Handler, token).await?;

    client.listen().await
}

Documentation

Rust docs

A documentation generated by rustdoc, you can find here.

Examples

License

This project is under the MIT license.

Dependencies

~13–26MB
~489K SLoC