ruvolt

Crates.ioruvolt
lib.rsruvolt
version0.5.0
sourcesrc
created_at2022-01-30 19:15:38.308826
updated_at2022-03-20 15:19:44.39534
descriptionAn API wrapper for Revolt written in Rust.
homepage
repositoryhttps://github.com/Arthur-Damasceno/ruvolt
max_upload_size
id524159
size133,283
Arthur Damasceno (Arthur-Damasceno)

documentation

README

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.

Commit count: 164

cargo fmt