#事件处理 # #直播 #主播 #警报 #延迟 #检测

twitchalerts

一个库,当检测到主播直播时触发事件处理器,更多功能即将添加。

4 个版本

0.1.5 2023年10月24日
0.1.4 2023年4月16日

#591网页编程

Apache-2.0

21KB
244

Rust TwitchAlerts

一个 Rust 库,允许用户检测主播何时直播并触发自定义事件。目前速率限制在80ms之间硬编码,但检查周期之间的延迟可以完全自定义。目前每个主播每30秒可以检查一次。

如果您发现任何错误或提出功能请求,请通过GitHub报告,任何改进和添加都欢迎通过pull请求进行。

功能

  • 流警报
  • 自定义延迟
  • 自定义错误处理

设置

第一次运行将创建一个配置文件,该文件应包含客户端ID、令牌、延迟和要监视的主播列表。

要获取Twitch的OAuth令牌,请访问https://dev.twitch.tv/console创建一个应用程序,并使用以下命令中的客户端ID和密钥。

curl -X POST 'https://id.twitch.tv/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=<your client id goes here>&client_secret=<your client secret goes here>&grant_type=client_credentials'

示例配置

streamers = ["streamer", "streamer2"]
delay = 80
token = "my_token"
user_id = "my_user_id"

示例

use async_trait::async_trait;
use twitchalerts::client::{StreamData, Streamer, Client};
use twitchalerts::traits::EventHandler;

pub struct Handler;

#[async_trait]
impl EventHandler for Handler {
    async fn on_stream(&self, streamer: &String, stream: &StreamData) {
        !todo();
    }

    async fn on_error(&self, error: String) {
        !todo();
    }
}

async fn main() -> Result<(), ()> {
    _ = Client::new("client id", "client token").event_handler(Handler).run().await?;

    Ok(())
}

依赖项

贡献者

依赖项

~7–22MB
~284K SLoC