#json-rpc #betting #sport #betfair #aping

botfair

为 Betfair SportsAPING 提供 Rust 绑定

5 个不稳定版本

0.3.1 2019 年 10 月 29 日
0.3.0 2019 年 10 月 27 日
0.2.1 2019 年 10 月 27 日
0.2.0 2019 年 10 月 27 日
0.1.0 2019 年 10 月 26 日

#betting 中排名 4

AGPL-3.0-only

135KB
3K SLoC

Rust 2K SLoC // 0.0% comments Python 556 SLoC // 0.1% comments Shell 50 SLoC // 0.3% comments

botfair 0.3.1

botfair 包为 Betfair SportsAPING 提供了 Rust 绑定。

关于此包的文档可以在 https://docs.rs 或在文件 lib.rs 中找到。

主 git 仓库: https://git.esotericnonsense.com/pub/botfair.git

Sourcehut: https://git.sr.ht/~esotericnonsense/botfair

GitLab: https://gitlab.com/esotericnonsense/botfair.git

GitHub: https://github.com/esotericnonsense/botfair.git

联系方式

Daniel Edgecumbe (esotericnonsense)

[email protected]


lib.rs:

botfair 0.3.1

botfair 包为 Betfair SportsAPING 提供了 Rust 绑定。登录和保持连接由 BFClient 自动处理。

有关方法的文档,请参阅 BFClient

BFClient 实现了 Sync,因此可以安全地将其包装在 Arc 中,以便使用相同的会话令牌进行多线程使用。

保修

This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

提供付费支持、咨询和合同服务。

如需更多信息,请联系 Daniel Edgecumbe([email protected])。

示例

请注意,botfair 需要您的证书以 pfx 格式。要实现这一点,给定密钥和 crt 文件,您可以使用以下 openssl 命令

openssl pkcs12 -export -out client.pfx \
    -inkey client.key -in client.crt

botfair 假设 pfx 文件没有密码保护。

use botfair::generated_types::{MarketBook, MarketCatalogue};
use botfair::generated_types::{MarketFilter, MarketId};
use botfair::result::Result;
use botfair::{BFClient, BFCredentials};

fn main() -> Result<()> {
    let bf_creds = BFCredentials::new(
        "my_username".to_owned(),
        "my_password".to_owned(),
        "/path/to/pfx/file".to_owned(),
        "my_appkey".to_owned()
    ).unwrap();

    let bf_client = BFClient::new(
        bf_creds,
        None
    ).unwrap();

    // This is all rather verbose at the moment.
    // What will the future bring?
    let market_filter = MarketFilter {
        textQuery: None,
        exchangeIds: None,
        eventTypeIds: None,
        eventIds: None,
        competitionIds: None,
        marketIds: None,
        venues: None,
        bspOnly: None,
        turnInPlayEnabled: None,
        inPlayOnly: None,
        marketBettingTypes: None,
        marketCountries: None,
        marketTypeCodes: None,
        marketStartTime: None,
        withOrders: None,
        raceTypes: None,
    };

    // List ten arbitrary markets
    let catalogues: Vec<MarketCatalogue> =
        bf_client.listMarketCatalogue(market_filter, None, None, 10, None)?;

    println!("{:?}", catalogues);
    Ok(())
}

生成绑定

如果您只想使用此包,可以跳过此部分,因为绑定已经存在。

要从 Betfair XML 文档重新生成绑定,您需要执行 cd genapi; ./main.sh,这将从 Betfair 服务器获取文档并在其上运行 Python 脚本来生成 Rust 绑定。

许可证

对于开源软件,botfair 受 GNU AGPLv3 许可,包含在 LICENSE.AGPLv3 文档中,该文档应与软件一起分发。

这意味着您需要以相同的条款许可您的软件。特别是,这意味着使用此库的软件必须向该软件的用户提供其源代码,无论该软件是通过网络还是由最终用户直接交互。

对于封闭源代码软件,作者可自行决定是否做出例外。

依赖项

~30MB
~708K SLoC