#team-speak3 #plugin-api #ts3 #plugin #api-version #abstraction-layer

ts3plugin

一个简化创建 TeamSpeak3 插件的抽象层,并将接收到的数据存储起来以提供更便捷的 API

2 个不稳定版本

使用旧的 Rust 2015

0.2.1 2017 年 1 月 5 日
0.2.0 2017 年 1 月 4 日
0.1.0 2016 年 9 月 7 日

#6 in #ts3

MIT/Apache

125KB
2.5K SLoC

TeamSpeak3 Plugin API — Build Status Latest version

文档可以在这里找到: At docs.rs

TeamSpeak 3.1 将插件 API 版本从 20 升级到 21。
版本 0.2 及以上与此版本兼容,而版本 0.1 与 API 版本 20 兼容。

破例更改将不时发生,导致小版本号的增加。

目前,TeamSpeak API 公开的不是所有方法都可用于插件。如果您需要的方法缺失,请提交问题或发起拉取请求。

用法

将以下内容添加到您的 Cargo.toml

[lib]
name = "<pluginname>"
crate-type = ["cdylib"]

[dependencies]
lazy_static = "0.2"
ts3plugin = "0.2"

此代码可用于使您的库成为 TeamSpeak 插件

#[macro_use]
extern crate ts3plugin;
#[macro_use]
extern crate lazy_static;

use ts3plugin::*;

struct MyTsPlugin;

impl Plugin for MyTsPlugin {
    fn new(api: &mut TsApi) -> Result<Box<MyTsPlugin>, InitError> {
        api.log_or_print("Inited", "MyTsPlugin", LogLevel::Info);
        Ok(Box::new(MyTsPlugin))
        // Or return Err(InitError::Failure) on failure
    }

    // Implement callbacks here

    fn shutdown(&mut self, api: &mut TsApi) {
        api.log_or_print("Shutdown", "MyTsPlugin", LogLevel::Info);
    }
}

create_plugin!(
    "My Ts Plugin", "0.1.0", "My name", "A wonderful tiny example plugin",
    ConfigureOffer::No, false, MyTsPlugin);

使用此库的项目

许可证

在您的选择下,许可为以下之一

运行此文件中 Rust 代码所需的模板代码

{}
fn main(){{}}

依赖项

~3MB
~44K SLoC