8个不稳定版本 (3个重大更改)

使用旧的Rust 2015

0.4.0 2015年7月13日
0.3.3 2015年7月13日
0.3.0 2015年5月17日
0.2.1 2015年5月16日
0.1.2 2015年3月30日

#33 in #irc

33每月下载次数

MIT许可证

72KB
1K SLoC

dazeus-rs

DaZeus的Rust绑定

文档

可以通过在项目根目录中运行 cargo doc 来生成文档。它也可以在这里在线阅读[链接]

入门

这些绑定需要Rust来编译。编译的二进制文件只需要libc。

要使用这些绑定创建一个新插件,只需运行

cargo new [plugin-name] --bin

然后在你的 Cargo.toml 中添加

[dependencies.dazeus]
git = "https://github.com/dazeus/dazeus-rs.git"

对于解析命令行选项,我建议你也使用类似docopt的工具,要在你的 Cargo.toml 中使用它,请添加以下内容

[dependencies]
docopt = "0.6"

然后在你的 main.rs 中使用这个基本的骨架应用程序

extern crate dazeus;
extern crate docopt;

use dazeus::{DaZeus, DaZeusClient, EventType, Connection};
use docopt::Docopt;

// Write the Docopt usage string.
static USAGE: &'static str = "
A DaZeus plugin.

Usage:
    dazeus-plugin [options]

Options:
    -h, --help                  Show this help message
    -s SOCKET, --socket=SOCKET  Specify the socket DaZeus is listening to, use
                                `unix:/path/to/socket` or `tcp:host:port`
                                [default: unix:/tmp/dazeus.sock]
";

fn main() {
    let args = Docopt::new(USAGE).and_then(|d| d.parse()).unwrap_or_else(|e| e.exit());
    let socket = args.get_str("--socket");
    let dazeus = DaZeus::new(Connection::from_str(socket).unwrap());
    dazeus.subscribe(EventType::PrivMsg, |evt, dazeus| {
        // reply requires an event, and a message (the third event
        // parameter is the message sent to us)
        dazeus.reply(&evt, &evt[3], true);
    });

    // We unwrap the result, which we will retrieve when listening has failed
    dazeus.listen().unwrap();
}

一旦你设置了依赖并创建了此主文件,你应该可以使用 cargo run 运行,Cargo 应该安装所有依赖项,编译你的项目并执行结果。如果你没有在你的本地机器上运行 DaZeus,或者默认的套接字位置不是你想要的,只需使用 cargo run -- --socket=[your socket]

依赖项

~490KB
~10K SLoC