initial commit
This commit is contained in:
commit
ab56bae8bf
17
README.md
Normal file
17
README.md
Normal 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
package.json
Normal file
15
package.json
Normal 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
record.js
Normal file
27
record.js
Normal 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
records/.gitignore
vendored
Normal file
0
records/.gitignore
vendored
Normal file
Loading…
Reference in New Issue
Block a user