npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

alfred-teamspeak

v4.0.1

Published

Teamspeak 3 Bot Framework

Downloads

121

Readme

Alfred npm version

A Teamspeak 3 Bot Module utilizing the Teamspeak ServerQuery

Installation

$ npm install alfred-teamspeak

Example

const Alfred = require('alfred-teamspeak');
const bot = new Alfred();

bot.login('username', 'password')
	.then(() => console.log('Connected!'))
    .catch(err => console.error(err));
    
bot.on('cliententerview', data => console.log(data.client_nickname, 'connected!'));

Options

Options are passed via an object on construction: new Alfred({ ... })

| Name | Default | Description | | ---- | ----------- | ---------------------------- | | name | Alfred | The name of the bot | | host | 127.0.0.1 | The IP to connect | | port | 10011 | The query port of the server | | sid | 1 | The ID of the Virtual Server |

Methods

Alfred.login(username, password)

Login with the specified name and password. Returns a promise which is being resolved on successful login and rejected on failure.

Alfred.send( ... )

Inherited from schroffl/teamspeak-query.

Alfred.set(key, value)

Set a variable.

Alfred.get(key)

Get the value of a variable.
NOTE: After the login you can use Alfred.get('clid') to obtain the ID of the bot.

Alfred.use(event, callback)

Mount the specified callback function to the given event. If event is omitted, the handler will be called for any event.

Middleware

As already said, middleware can be mounted via Alfred.use and may or may not only be used for a specific event such as cliententerview.
Whenever an event occurs, the stack for it will be called with the data the server has given. After the stack has finished, the event will be emitted. So Alfred.on('cliententerview', ...) will be fired when all the middleware has processed the data.
If you want to create your own middleware, take a look at Creating Middleware.
An example can be found here: lib/user.js

User Middleware

Alfred already ships with a package that offers an interface to easily interact with users. You can include like this:

const Alfred = require('alfred-teamspeak');
const User = Alfred.User;

const bot = new Alfred();

bot.use(User);
// [...]

So now if anyting user-related happens, you can respond to the users as easy as:

bot.on('cliententerview', data => data.user.respond('Hello', data.user.get('name')) );

Further documentation of the package can be found here.