1 个不稳定版本
0.1.0 | 2022年6月13日 |
---|
#26 in #revolt
33KB
657 行
ataraxia
为 revolt.chat API 提供的最小化 API 包装器
一个基本的 Ping-Pong 机器人的样子
use ataraxia::{
websocket::{Client, EventHandler},
models::message::Message as RevoltMessage,
context::Context,
async_trait
};
struct Handler;
#[async_trait]
impl EventHandler for Handler {
async fn authenticated(&self) {
println!("Authenticated!");
}
async fn ready(&self, _ctx: Context) {
println!("Ready!");
}
async fn on_message(&self, ctx: Context, message: RevoltMessage) {
println!("{}", message);
if message.content == "!ping" {
ctx.reply_builder(&message.channel_id, |r| {
r.content("Pong!")
}).await
}
}
#[tokio::main]
async fn main() {
let token = std::env::var("TOKEN").expect("token");
let mut client = Client::new(token)
.event_handler(Handler)
.set_api_url("https://api.revolt.chat");
client.start().await;
}
依赖项
~10–25MB
~398K SLoC