All Projects → ReSpeak → rust-ts3plugin

ReSpeak / rust-ts3plugin

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Rust bindings to easily create a TeamSpeak3 plugin

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to rust-ts3plugin

kubectl-ssh-plugin-eks
This is plugin to SSH into Worker Nodes running on AWS
Stars: ✭ 18 (+38.46%)
Mutual labels:  plugins
toast
Plugin-driven CLI utility for code generation using Go source as IDL
Stars: ✭ 52 (+300%)
Mutual labels:  plugins
website
Kanboard's website
Stars: ✭ 18 (+38.46%)
Mutual labels:  plugins
vuepress-theme-macgs
💫 A vuepress theme for easyhexo.com
Stars: ✭ 16 (+23.08%)
Mutual labels:  plugins
build-plugin-template
Template repository to create new Netlify Build plugins.
Stars: ✭ 26 (+100%)
Mutual labels:  plugins
flutter plugins
Flutter插件集合,好用常用的插件.
Stars: ✭ 22 (+69.23%)
Mutual labels:  plugins
plugins
Officially supported Psi plugins
Stars: ✭ 52 (+300%)
Mutual labels:  plugins
RDCManPlugins
Remote Desktop Connection Manager has undocumented plugin support
Stars: ✭ 25 (+92.31%)
Mutual labels:  plugins
Accordion-Shortcodes
A WordPress plugin that adds a few shortcodes to allow for accordion dropdowns.
Stars: ✭ 16 (+23.08%)
Mutual labels:  plugins
xd-storage-helper
A little helper to make storing key-value-pairs (e.g. settings) for Adobe XD plugins easier.
Stars: ✭ 22 (+69.23%)
Mutual labels:  plugins
alfred-teamspeak
Teamspeak 3 Bot Module for Node.js
Stars: ✭ 14 (+7.69%)
Mutual labels:  teamspeak
livestorm-plugin
This repo hosts the exposed APIs that you can use to create a plugin for your Livestorm organization
Stars: ✭ 25 (+92.31%)
Mutual labels:  plugins
vim-rzip
Extends zip.vim to browse and write nested zip files
Stars: ✭ 22 (+69.23%)
Mutual labels:  plugins
react-editor-kit
(alpha) Compose a React-based text editor using a suite of standard plugins
Stars: ✭ 21 (+61.54%)
Mutual labels:  plugins
transformers
This repository is home to the Optimus data transformation plugins for various data processing needs.
Stars: ✭ 37 (+184.62%)
Mutual labels:  plugins
Loom
The next generation Minecraft server software and plugin API.
Stars: ✭ 40 (+207.69%)
Mutual labels:  plugins
dotfiles
Opinionated garbage for your terminal. Gotta get that yolo swag.
Stars: ✭ 37 (+184.62%)
Mutual labels:  plugins
java-toolkit
【Released】🛠Java常用的插件API整理以及基于JDK的一些方法封装库,能在不依赖大型框架下快速进行开发(亦可快速用于测试或者脚本类代码编写 - 含数据库相关)。
Stars: ✭ 13 (+0%)
Mutual labels:  plugins
slackotron
A plugin extensible Slack bot.
Stars: ✭ 13 (+0%)
Mutual labels:  plugins
WDS-Required-Plugins
Make certain plugins required so that they cannot be (easily) deactivated. | Gatekeeper: @aubreypwd
Stars: ✭ 77 (+492.31%)
Mutual labels:  plugins

TeamSpeak3 Plugin API   Build Status Latest version

The documentation can be found here: At docs.rs

TeamSpeak 3.1 updates the plugin api version from 20 to 21.
Version 0.2 and above are compatible with this version while version 0.1 is compatible with the api version 20.

Breaking changes will happen from time to time, leading to a minor version bump.

At the moment, not all methods that are exposed by the TeamSpeak API are available for plugins. If a method that you need is missing, please file an issue or open a pull request.

Usage

Add the following to your Cargo.toml:

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

[dependencies]
ts3plugin = "0.3"

This code can be used to make your library a TeamSpeak plugin:

#[macro_use]
extern crate ts3plugin;

use ts3plugin::*;

struct MyTsPlugin;

impl Plugin for MyTsPlugin {
    fn name()        -> String { String::from("My Ts Plugin") }
    fn version()     -> String { String::from("0.1.0") }
    fn author()      -> String { String::from("My Name") }
    fn description() -> String { String::from("A wonderful tiny example plugin") }
    // Optional
    fn command() -> Option<String> { Some(String::from("myplugin")) }
    fn autoload() -> bool { false }
    fn configurable() -> ConfigureOffer { ConfigureOffer::No }

    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!(MyTsPlugin);

Projects using this library

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Template code that is needed to run the rust code in this file as a test:

{}
fn main(){{}}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].