Skip to content

Gielert/NoodleJS

Repository files navigation

NoodleJS - A Mumble Client

NoodleJS is a node.js module that allows you to interact with Mumble servers very easily. This is a complete rewrite from the previous version of NoodleJS.

Requirements

  • Node.js >= 20.19.4
  • OpenSSL (required for native cryptographic module)

Installation

Installing OpenSSL

Windows:

choco install openssl

Ubuntu/Debian:

sudo apt-get install libssl-dev

macOS:

brew install openssl@3

Installing NoodleJS

npm install noodle.js
# or
yarn add noodle.js

The native cryptographic module will be built automatically during installation. If you encounter build errors, ensure OpenSSL is properly installed.

Usage

Audio

You can send audio in two ways.

const NoodleJS = require('noodle.js');
const client = new NoodleJS();

client.on('ready', () => {
    client.voiceConnection.playFile('pathtofile');
    // or
    client.voiceConnection.playStream(somestream);
});

client.connect();

Example usage

const NoodleJS = require('noodle.js');
const client = new NoodleJS({
    url: 'myawesomemumbleserver'
});

client.on('ready', info => {
    console.log(info.welcomeMessage);
});

client.on('message', message => {
    if (message.content === 'ping') {
        message.reply('pong');
    }
});

client.connect();

Development

Building from Source

# Clone the repository
git clone https://github.com/Gielert/NoodleJS.git
cd NoodleJS

# Install dependencies
yarn install

# Build native module
yarn rebuild

# Run tests
yarn test

# Run linter
yarn lint

CI/CD

This project uses GitHub Actions for continuous integration and automated npm publishing. See .github/ACTIONS_SETUP.md for more information about the CI/CD setup.

License

MIT

About

A NodeJS Mumble client

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors