Browse Source

initial commit

master
ale 4 years ago
commit
ab56bae8bf
4 changed files with 59 additions and 0 deletions
  1. +17
    -0
      README.md
  2. +15
    -0
      package.json
  3. +27
    -0
      record.js
  4. +0
    -0
      records/.gitignore

+ 17
- 0
README.md View File

@ -0,0 +1,17 @@
# mumble-record
## Mumble Record Bot in NodeJS
# Install
```
yarn or npm i
```
# Run
```
node record.js <server> <nick>
```
# Example
```
node record.js mastodon.madrid record
```
# License
MIT

+ 15
- 0
package.json View File

@ -0,0 +1,15 @@
{
"name": "record",
"version": "1.0.0",
"description": "",
"main": "record.js",
"scripts": {
"install": "openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem"
},
"dependencies": {
"lame": "*",
"mumble": "*"
},
"author": "ale",
"license": "MIT"
}

+ 27
- 0
record.js View File

@ -0,0 +1,27 @@
const mumble = require('mumble'),
fs = require('fs'),
lame = require('lame'),
options = {
key: fs.readFileSync(__dirname + '/key.pem'),
cert: fs.readFileSync(__dirname + '/cert.pem')
}
console.log('Connecting')
mumble.connect(process.argv[2] || 'mastodon.madrid', options, (error, connection) => {
if (error) { console.error(error) }
console.log('Connected')
connection.authenticate(process.argv[3] || 'record')
connection.on('initialized', () => {
chan = connection.channelByName('Root')
chan.join()
})
const encoder = new lame.Encoder({
channels: 1,
sampleRate: 48000,
bitDepth: 16,
bitRate: 128,
outSampleRate: 44100,
mode: lame.STEREO
})
connection.outputStream().pipe(encoder).pipe(fs.createWriteStream(__dirname + '/records/mumble-' + Date.now() + '.mp3'))
})

+ 0
- 0
records/.gitignore View File


Loading…
Cancel
Save