36个版本

0.1.36 2021年2月1日
0.1.35 2021年2月1日
0.1.34 2021年1月29日

#878 in 游戏开发

Download history 48/week @ 2024-03-28 7/week @ 2024-04-04

每月120次下载

MITAGPL-3.0-only

36KB
643

lichessbot

documentation Crates.io Crates.io (recent)

lichess机器人。建设中。

使用方法

use log::{info, log_enabled, Level};

extern crate env_logger;

use dotenv::dotenv;

use lichessbot::lichessbot::*;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenv().ok();
    env_logger::init();

    let bot = Box::leak(Box::new(
        LichessBot::new()
            .uci_opt("Move Overhead", 500)
            .uci_opt("Threads", 4)
            .uci_opt("Hash", 128)
            .uci_opt("Contempt", -25)
            .enable_classical(false)
            .enable_rapid(false)
            .disable_blitz(false)
            .disable_bullet(false)
            .enable_ultrabullet(false)
            .enable_casual(true)
            .disable_rated(false),
    ));

    if log_enabled!(Level::Info) {
        info!("starting bot stream");
    }

    let (tx, mut rxa) = bot.stream().await;

    tokio::time::sleep(tokio::time::Duration::from_millis(120000)).await;

    let _ = tx.send("stopped by user".to_string()).await;

    let result = rxa.recv().await;

    if log_enabled!(Level::Info) {
        info!("stop stream result {:?}", result);
    }

    Ok(())
}

日志记录

export RUST_LOG=info
# or 
export RUST_LOG=debug

配置

设置环境变量如下

令牌

RUST_BOT_TOKEN={lichessAPI带有机器人权限的令牌}

机器人名称

RUST_BOT_NAME={lichess机器人用户名}

示例

RUST_BOT_NAME=chesshyperbot

引擎名称(可选)

RUST_BOT_ENGINE_NAME={引擎可执行文件名称}

示例

Linux RUST_BOT_ENGINE_NAME=./stockfish12

Windows RUST_BOT_ENGINE_NAME=stockfish12.exe

如果没有提供引擎名称,将播放随机移动。

依赖关系

~12–27MB
~411K SLoC