Crates.io | dlist-top |
lib.rs | dlist-top |
version | 0.1.0 |
source | src |
created_at | 2021-07-28 11:58:57.374706 |
updated_at | 2021-07-28 11:58:57.374706 |
description | Official DList.top client for Rust |
homepage | https://github.com/dlist-top/client-rs |
repository | https://github.com/dlist-top/client-rs |
max_upload_size | |
id | 428320 |
size | 51,240 |
Official dlist.top gateway client for Rust.
[dependencies]
dlist_top = "*"
To get your token please refer to the DList.top documentation.
use dlist_top::{Client, EventHandler};
use dlist_top::events::{VoteData, RateData};
use dlist_top::entity::Entity;
use async_trait::async_trait;
use tracing_subscriber::FmtSubscriber;
use tracing::Level;
struct DlistEvents;
#[async_trait]
impl EventHandler for DlistEvents {
async fn on_ready(&self, _entity: &Entity) {
println!("DList.top ready!");
}
async fn on_disconnect(&self, reason: &str) {
println!("DList.top disconnected with reason: {}", reason)
}
async fn on_vote(&self, data: VoteData) {
println!("vote! {:?}", data);
}
async fn on_rate(&self, data: RateData) {
println!("rate! {:?}", data);
}
}
#[tokio::main]
async fn main() {
let subscriber = FmtSubscriber::builder()
.with_max_level(Level::INFO)
.finish();
tracing::subscriber::set_global_default(subscriber)
.expect("setting default subscriber failed");
let mut client = Client::new("TOKEN", DlistEvents);
client.connect().await;
}