commit 8790469dc8fdcd345fb6595584943b4f94415e29 Author: Chris Ham Date: Fri Jul 14 08:27:18 2017 -0700 initial commit for sfx functionality diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..18b2a55 --- /dev/null +++ b/.gitignore @@ -0,0 +1,53 @@ +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ========================= +# Operating System Files +# ========================= + +# OSX +# ========================= + +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Ignores +node_modules/* + +start.bat +tokens.json \ No newline at end of file diff --git a/logs/ghbot.err b/logs/ghbot.err new file mode 100644 index 0000000..e69de29 diff --git a/logs/ghbot.log b/logs/ghbot.log new file mode 100644 index 0000000..167d1a8 --- /dev/null +++ b/logs/ghbot.log @@ -0,0 +1 @@ +ready! diff --git a/main.js b/main.js new file mode 100755 index 0000000..8306981 --- /dev/null +++ b/main.js @@ -0,0 +1,79 @@ +const { Client } = require('discord.js'); +const fs = require('fs'); +const path = require('path'); +const tokens = require('./tokens.json'); + +const client = new Client(); +const sfxFilePath = path.join(__dirname, 'sfx'); + +let playOptions = {volume: 0.25, passes: tokens.passes}; +let playing = false; + +// read in sfx directory, filenames are the commands +let sfxList = fs.readdirSync(sfxFilePath); +sfxList.forEach(function(el, index, a) { + a[index] = el.split('.')[0]; +}); + +const commands = { + 'x': (msg) => { + let sfx = msg.content.split(' ')[1]; + if (sfx == '' || sfx === undefined) return msg.channel.send('```'+sfxList.join(', ')+'```'); + + if (playing === true) return msg.channel.send('Already playing, please wait.'); + + // make sure this file exists either as an mp3 or wav + let sfxPath; + if (fs.existsSync(path.join(sfxFilePath, sfx + '.mp3'))) { + sfxPath = path.join(sfxFilePath, sfx + '.mp3'); + } else if (fs.existsSync(path.join(sfxFilePath, sfx + '.wav'))) { + sfxPath = path.join(sfxFilePath, sfx + '.wav'); + } else { + return msg.channel.send('This sound effect does not exist!'); + } + + if (!msg.guild.voiceConnection) return commands.xjoin(msg).then(() => commands.x(msg)); + + playing = true; + (function play(song) { + console.log(song); + const dispatcher = msg.guild.voiceConnection.playFile(song, playOptions); + dispatcher.on('end', reason => { + console.log('end: ' + reason) + playing = false; + msg.guild.voiceConnection.disconnect(); + }) + .on('error', error => { + console.log('error: ' + error); + playing = false; + msg.guild.voiceConnection.disconnect(); + }) + .on('start', () => {console.log('started');}); + })(sfxPath); + }, + 'xjoin': (msg) => { + return new Promise((resolve, reject) => { + const voiceChannel = msg.member.voiceChannel; + if (!voiceChannel || voiceChannel.type !== 'voice') return msg.reply('I couldn\'t connect to your voice channel...'); + voiceChannel.join().then(connection => resolve(connection)).catch(err => reject(err)); + }); + }, + 'xhelp': (msg) => { + let tosend = ['```xl', tokens.prefix + 'x {sfx}: "Plays the requested sound effect in your current voice channel"', '```']; + msg.channel.sendMessage(tosend.join('\n')); + }, + 'xreboot': (msg) => { + if (msg.author.id == tokens.adminID) process.exit(); //Requires a node module like Forever to work. + } +}; + +client.on('ready', () => { + console.log('ready!'); +}); + +client.on('message', msg => { + if (!msg.content.startsWith(tokens.prefix)) return; + let cmd = msg.content.toLowerCase().slice(tokens.prefix.length).split(' ')[0]; + if (commands.hasOwnProperty(cmd)) commands[cmd](msg); +}); +client.login(tokens.d_token); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f9c2f36 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,453 @@ +{ + "name": "ghbot", + "version": "1.0.0", + "lockfileVersion": 1, + "dependencies": { + "ajv": { + "version": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=" + }, + "asn1": { + "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "asynckit": { + "version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "aws4": { + "version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "balanced-match": { + "version": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true + }, + "bindings": { + "version": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", + "integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=" + }, + "block-stream": { + "version": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=" + }, + "bluebird": { + "version": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" + }, + "boom": { + "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=" + }, + "brace-expansion": { + "version": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=" + }, + "caseless": { + "version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "co": { + "version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "combined-stream": { + "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=" + }, + "commander": { + "version": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha1-FXFS/R56bI2YpbcVzzdt+SgARWM=" + }, + "component-emitter": { + "version": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "concat-map": { + "version": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "cookiejar": { + "version": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", + "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=" + }, + "core-util-is": { + "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cryptiles": { + "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=" + }, + "dashdash": { + "version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "debug": { + "version": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=" + }, + "delayed-stream": { + "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "discord.js": { + "version": "https://registry.npmjs.org/discord.js/-/discord.js-11.1.0.tgz", + "integrity": "sha1-U1HVnjeY9TbeGXXpLK5NEa89kmY=" + }, + "ecc-jsbn": { + "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true + }, + "extend": { + "version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extsprintf": { + "version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" + }, + "ffmpeg-binaries": { + "version": "3.2.2-3", + "resolved": "https://registry.npmjs.org/ffmpeg-binaries/-/ffmpeg-binaries-3.2.2-3.tgz", + "integrity": "sha1-nKM7aM0wTs8Qwz5tz3HiuT637hQ=" + }, + "forever-agent": { + "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "https://registry.npmjs.org/form-data/-/form-data-2.2.0.tgz", + "integrity": "sha1-ml47kpX5gLJiPPZPojixTOvKcHs=" + }, + "formidable": { + "version": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", + "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=" + }, + "fs.realpath": { + "version": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=" + }, + "getpass": { + "version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "glob": { + "version": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=" + }, + "graceful-fs": { + "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + }, + "har-validator": { + "version": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=" + }, + "hawk": { + "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=" + }, + "hoek": { + "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "http-signature": { + "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=" + }, + "inflight": { + "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + }, + "inherits": { + "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "is-typedarray": { + "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isstream": { + "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-stable-stringify": { + "version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=" + }, + "json-stringify-safe": { + "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonify": { + "version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "dependencies": { + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "long": { + "version": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + }, + "methods": { + "version": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=" + }, + "mime-db": { + "version": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=" + }, + "mime-types": { + "version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=" + }, + "minimatch": { + "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=" + }, + "minimist": { + "version": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" + }, + "mout": { + "version": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", + "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=" + }, + "ms": { + "version": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz", + "integrity": "sha1-5P805slf37WuzAjeZZb0NgWn20U=" + }, + "node-opus": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/node-opus/-/node-opus-0.2.6.tgz", + "integrity": "sha1-Gc0rmdmLyxN4YHuViYQQV/DJBZA=" + }, + "oauth-sign": { + "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "ogg-packet": { + "version": "https://registry.npmjs.org/ogg-packet/-/ogg-packet-1.0.0.tgz", + "integrity": "sha1-RbiFchrI991c8iOR1CEGrlM6xng=", + "optional": true + }, + "once": { + "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + }, + "path-is-absolute": { + "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "performance-now": { + "version": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + }, + "prism-media": { + "version": "https://registry.npmjs.org/prism-media/-/prism-media-0.0.1.tgz", + "integrity": "sha1-o0JcnKvVDRxsAuVDlBoRiVZnvRA=" + }, + "process-nextick-args": { + "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "punycode": { + "version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "https://registry.npmjs.org/qs/-/qs-6.5.0.tgz", + "integrity": "sha1-jQSVTTZN7z78VbWgeT4eLIsebkk=" + }, + "readable-stream": { + "version": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=", + "dependencies": { + "safe-buffer": { + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + } + } + }, + "ref": { + "version": "https://registry.npmjs.org/ref/-/ref-1.3.4.tgz", + "integrity": "sha1-ck0r+KyF+MjbGU09hb5u/kFrweU=", + "optional": true + }, + "ref-struct": { + "version": "https://registry.npmjs.org/ref-struct/-/ref-struct-1.1.0.tgz", + "integrity": "sha1-XV7mWtQc78Olxf60BYcmHkee3BM=", + "optional": true + }, + "request": { + "version": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dependencies": { + "form-data": { + "version": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=" + }, + "qs": { + "version": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + } + } + }, + "rimraf": { + "version": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=" + }, + "safe-buffer": { + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=" + }, + "snekfetch": { + "version": "https://registry.npmjs.org/snekfetch/-/snekfetch-3.2.4.tgz", + "integrity": "sha1-dP7R8FMOMS5bCOyxiaUpwUcnr68=" + }, + "sntp": { + "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=" + }, + "sshpk": { + "version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dependencies": { + "assert-plus": { + "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "string_decoder": { + "version": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "dependencies": { + "safe-buffer": { + "version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + } + } + }, + "stringstream": { + "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "superagent": { + "version": "https://registry.npmjs.org/superagent/-/superagent-3.5.2.tgz", + "integrity": "sha1-M2GjlxVnUEw1EGOr6q4PqiPb8/g=" + }, + "tar": { + "version": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=" + }, + "tar.gz": { + "version": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.5.tgz", + "integrity": "sha1-4a2n5F7yJBtLHuWBI8j0C108G8Q=" + }, + "tough-cookie": { + "version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=" + }, + "tunnel-agent": { + "version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + }, + "tweetnacl": { + "version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "ultron": { + "version": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", + "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=" + }, + "util-deprecate": { + "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" + }, + "verror": { + "version": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=" + }, + "wrappy": { + "version": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", + "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=" + } + } +} diff --git a/package.json b/package.json new file mode 100755 index 0000000..16ce925 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "ghbot", + "version": "1.0.0", + "description": "", + "main": "main.js", + "dependencies": { + "discord.js": "^11.1.0", + "ffmpeg-binaries": "^3.2.2-3", + "node-opus": "^0.2.6", + "request": "^2.81.0" + }, + "devDependencies": {}, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "MIT" +} diff --git a/sfx/1v2.mp3 b/sfx/1v2.mp3 new file mode 100644 index 0000000..cb60b9a Binary files /dev/null and b/sfx/1v2.mp3 differ diff --git a/sfx/2+2.mp3 b/sfx/2+2.mp3 new file mode 100644 index 0000000..20d532d Binary files /dev/null and b/sfx/2+2.mp3 differ diff --git a/sfx/ahhh.mp3 b/sfx/ahhh.mp3 new file mode 100644 index 0000000..43f48c0 Binary files /dev/null and b/sfx/ahhh.mp3 differ diff --git a/sfx/andysimpson.mp3 b/sfx/andysimpson.mp3 new file mode 100644 index 0000000..38a5d90 Binary files /dev/null and b/sfx/andysimpson.mp3 differ diff --git a/sfx/aspen.mp3 b/sfx/aspen.mp3 new file mode 100644 index 0000000..3d935b0 Binary files /dev/null and b/sfx/aspen.mp3 differ diff --git a/sfx/blazeit.mp3 b/sfx/blazeit.mp3 new file mode 100644 index 0000000..fe3e7e4 Binary files /dev/null and b/sfx/blazeit.mp3 differ diff --git a/sfx/boosted.mp3 b/sfx/boosted.mp3 new file mode 100644 index 0000000..5fdd13e Binary files /dev/null and b/sfx/boosted.mp3 differ diff --git a/sfx/bossmusic.mp3 b/sfx/bossmusic.mp3 new file mode 100644 index 0000000..e36c68a Binary files /dev/null and b/sfx/bossmusic.mp3 differ diff --git a/sfx/butt.mp3 b/sfx/butt.mp3 new file mode 100644 index 0000000..3366bd7 Binary files /dev/null and b/sfx/butt.mp3 differ diff --git a/sfx/butwait.mp3 b/sfx/butwait.mp3 new file mode 100644 index 0000000..1851dc4 Binary files /dev/null and b/sfx/butwait.mp3 differ diff --git a/sfx/bwaa.mp3 b/sfx/bwaa.mp3 new file mode 100644 index 0000000..9dc9c97 Binary files /dev/null and b/sfx/bwaa.mp3 differ diff --git a/sfx/chipotle.mp3 b/sfx/chipotle.mp3 new file mode 100644 index 0000000..7b4d4b7 Binary files /dev/null and b/sfx/chipotle.mp3 differ diff --git a/sfx/chomp.mp3 b/sfx/chomp.mp3 new file mode 100644 index 0000000..ac2c2c0 Binary files /dev/null and b/sfx/chomp.mp3 differ diff --git a/sfx/chrislaugh.mp3 b/sfx/chrislaugh.mp3 new file mode 100644 index 0000000..5fb74a1 Binary files /dev/null and b/sfx/chrislaugh.mp3 differ diff --git a/sfx/comewithme.mp3 b/sfx/comewithme.mp3 new file mode 100644 index 0000000..5612427 Binary files /dev/null and b/sfx/comewithme.mp3 differ diff --git a/sfx/dealwithit.mp3 b/sfx/dealwithit.mp3 new file mode 100644 index 0000000..0509dcb Binary files /dev/null and b/sfx/dealwithit.mp3 differ diff --git a/sfx/dickhole.mp3 b/sfx/dickhole.mp3 new file mode 100644 index 0000000..760ebee Binary files /dev/null and b/sfx/dickhole.mp3 differ diff --git a/sfx/dode.mp3 b/sfx/dode.mp3 new file mode 100644 index 0000000..3c05946 Binary files /dev/null and b/sfx/dode.mp3 differ diff --git a/sfx/emetarage.mp3 b/sfx/emetarage.mp3 new file mode 100644 index 0000000..87dc31d Binary files /dev/null and b/sfx/emetarage.mp3 differ diff --git a/sfx/emetarage2.mp3 b/sfx/emetarage2.mp3 new file mode 100644 index 0000000..e2243a3 Binary files /dev/null and b/sfx/emetarage2.mp3 differ diff --git a/sfx/ez.mp3 b/sfx/ez.mp3 new file mode 100644 index 0000000..091b07a Binary files /dev/null and b/sfx/ez.mp3 differ diff --git a/sfx/f.mp3 b/sfx/f.mp3 new file mode 100644 index 0000000..987e8a3 Binary files /dev/null and b/sfx/f.mp3 differ diff --git a/sfx/fdup.mp3 b/sfx/fdup.mp3 new file mode 100644 index 0000000..990a0ed Binary files /dev/null and b/sfx/fdup.mp3 differ diff --git a/sfx/fencedash.mp3 b/sfx/fencedash.mp3 new file mode 100644 index 0000000..0147c30 Binary files /dev/null and b/sfx/fencedash.mp3 differ diff --git a/sfx/ffob.mp3 b/sfx/ffob.mp3 new file mode 100644 index 0000000..b5466b6 Binary files /dev/null and b/sfx/ffob.mp3 differ diff --git a/sfx/fiesta.mp3 b/sfx/fiesta.mp3 new file mode 100644 index 0000000..bac4621 Binary files /dev/null and b/sfx/fiesta.mp3 differ diff --git a/sfx/fk.mp3 b/sfx/fk.mp3 new file mode 100644 index 0000000..74c63f5 Binary files /dev/null and b/sfx/fk.mp3 differ diff --git a/sfx/gameover.mp3 b/sfx/gameover.mp3 new file mode 100644 index 0000000..c0629e7 Binary files /dev/null and b/sfx/gameover.mp3 differ diff --git a/sfx/gatekeepah.mp3 b/sfx/gatekeepah.mp3 new file mode 100644 index 0000000..c6b65bb Binary files /dev/null and b/sfx/gatekeepah.mp3 differ diff --git a/sfx/gg.mp3 b/sfx/gg.mp3 new file mode 100644 index 0000000..52c9e26 Binary files /dev/null and b/sfx/gg.mp3 differ diff --git a/sfx/gotchya.mp3 b/sfx/gotchya.mp3 new file mode 100644 index 0000000..75cf3be Binary files /dev/null and b/sfx/gotchya.mp3 differ diff --git a/sfx/gottem.mp3 b/sfx/gottem.mp3 new file mode 100644 index 0000000..c827bd3 Binary files /dev/null and b/sfx/gottem.mp3 differ diff --git a/sfx/hellway.mp3 b/sfx/hellway.mp3 new file mode 100644 index 0000000..20d1fc7 Binary files /dev/null and b/sfx/hellway.mp3 differ diff --git a/sfx/herewego.mp3 b/sfx/herewego.mp3 new file mode 100644 index 0000000..d5532c8 Binary files /dev/null and b/sfx/herewego.mp3 differ diff --git a/sfx/heyheyhey.mp3 b/sfx/heyheyhey.mp3 new file mode 100644 index 0000000..cdacea7 Binary files /dev/null and b/sfx/heyheyhey.mp3 differ diff --git a/sfx/heymf.mp3 b/sfx/heymf.mp3 new file mode 100644 index 0000000..c8bb499 Binary files /dev/null and b/sfx/heymf.mp3 differ diff --git a/sfx/how.mp3 b/sfx/how.mp3 new file mode 100644 index 0000000..a78cca5 Binary files /dev/null and b/sfx/how.mp3 differ diff --git a/sfx/hype.mp3 b/sfx/hype.mp3 new file mode 100644 index 0000000..c7c7f3a Binary files /dev/null and b/sfx/hype.mp3 differ diff --git a/sfx/idgaf.mp3 b/sfx/idgaf.mp3 new file mode 100644 index 0000000..c974f6a Binary files /dev/null and b/sfx/idgaf.mp3 differ diff --git a/sfx/imawot.mp3 b/sfx/imawot.mp3 new file mode 100644 index 0000000..343fb32 Binary files /dev/null and b/sfx/imawot.mp3 differ diff --git a/sfx/itsgonnabemay.mp3 b/sfx/itsgonnabemay.mp3 new file mode 100644 index 0000000..643f18b Binary files /dev/null and b/sfx/itsgonnabemay.mp3 differ diff --git a/sfx/joshlaugh.mp3 b/sfx/joshlaugh.mp3 new file mode 100644 index 0000000..d844173 Binary files /dev/null and b/sfx/joshlaugh.mp3 differ diff --git a/sfx/lisa.mp3 b/sfx/lisa.mp3 new file mode 100644 index 0000000..ab2d7d0 Binary files /dev/null and b/sfx/lisa.mp3 differ diff --git a/sfx/lol.mp3 b/sfx/lol.mp3 new file mode 100644 index 0000000..458da16 Binary files /dev/null and b/sfx/lol.mp3 differ diff --git a/sfx/lookatme.mp3 b/sfx/lookatme.mp3 new file mode 100644 index 0000000..61a3cc4 Binary files /dev/null and b/sfx/lookatme.mp3 differ diff --git a/sfx/mcgasm.mp3 b/sfx/mcgasm.mp3 new file mode 100644 index 0000000..f8c9def Binary files /dev/null and b/sfx/mcgasm.mp3 differ diff --git a/sfx/muttfart.mp3 b/sfx/muttfart.mp3 new file mode 100644 index 0000000..072bc3f Binary files /dev/null and b/sfx/muttfart.mp3 differ diff --git a/sfx/muttscream.mp3 b/sfx/muttscream.mp3 new file mode 100644 index 0000000..c42edb2 Binary files /dev/null and b/sfx/muttscream.mp3 differ diff --git a/sfx/mybody.mp3 b/sfx/mybody.mp3 new file mode 100644 index 0000000..9880276 Binary files /dev/null and b/sfx/mybody.mp3 differ diff --git a/sfx/neat.mp3 b/sfx/neat.mp3 new file mode 100644 index 0000000..9d52241 Binary files /dev/null and b/sfx/neat.mp3 differ diff --git a/sfx/nevergiveup.mp3 b/sfx/nevergiveup.mp3 new file mode 100644 index 0000000..623b9d5 Binary files /dev/null and b/sfx/nevergiveup.mp3 differ diff --git a/sfx/obaeb.mp3 b/sfx/obaeb.mp3 new file mode 100644 index 0000000..0a00702 Binary files /dev/null and b/sfx/obaeb.mp3 differ diff --git a/sfx/oops.mp3 b/sfx/oops.mp3 new file mode 100644 index 0000000..ac23ba4 Binary files /dev/null and b/sfx/oops.mp3 differ diff --git a/sfx/pixie.mp3 b/sfx/pixie.mp3 new file mode 100644 index 0000000..a75a3b9 Binary files /dev/null and b/sfx/pixie.mp3 differ diff --git a/sfx/pprage.mp3 b/sfx/pprage.mp3 new file mode 100644 index 0000000..bc712b8 Binary files /dev/null and b/sfx/pprage.mp3 differ diff --git a/sfx/raffle.mp3 b/sfx/raffle.mp3 new file mode 100644 index 0000000..f3d96bd Binary files /dev/null and b/sfx/raffle.mp3 differ diff --git a/sfx/respect.mp3 b/sfx/respect.mp3 new file mode 100644 index 0000000..73062cc Binary files /dev/null and b/sfx/respect.mp3 differ diff --git a/sfx/rpgfarm.mp3 b/sfx/rpgfarm.mp3 new file mode 100644 index 0000000..c08bf7d Binary files /dev/null and b/sfx/rpgfarm.mp3 differ diff --git a/sfx/sdgtw.mp3 b/sfx/sdgtw.mp3 new file mode 100644 index 0000000..a5ca8cb Binary files /dev/null and b/sfx/sdgtw.mp3 differ diff --git a/sfx/sendit.mp3 b/sfx/sendit.mp3 new file mode 100755 index 0000000..b4520af Binary files /dev/null and b/sfx/sendit.mp3 differ diff --git a/sfx/split.mp3 b/sfx/split.mp3 new file mode 100644 index 0000000..6cc3752 Binary files /dev/null and b/sfx/split.mp3 differ diff --git a/sfx/suh.mp3 b/sfx/suh.mp3 new file mode 100644 index 0000000..07d0350 Binary files /dev/null and b/sfx/suh.mp3 differ diff --git a/sfx/sunday.mp3 b/sfx/sunday.mp3 new file mode 100644 index 0000000..171646b Binary files /dev/null and b/sfx/sunday.mp3 differ diff --git a/sfx/swag.mp3 b/sfx/swag.mp3 new file mode 100644 index 0000000..2d00242 Binary files /dev/null and b/sfx/swag.mp3 differ diff --git a/sfx/tbhamfact.mp3 b/sfx/tbhamfact.mp3 new file mode 100644 index 0000000..92ca614 Binary files /dev/null and b/sfx/tbhamfact.mp3 differ diff --git a/sfx/teammates.mp3 b/sfx/teammates.mp3 new file mode 100644 index 0000000..755e4e3 Binary files /dev/null and b/sfx/teammates.mp3 differ diff --git a/sfx/theline.mp3 b/sfx/theline.mp3 new file mode 100644 index 0000000..d078901 Binary files /dev/null and b/sfx/theline.mp3 differ diff --git a/sfx/timmon.mp3 b/sfx/timmon.mp3 new file mode 100644 index 0000000..8bde202 Binary files /dev/null and b/sfx/timmon.mp3 differ diff --git a/sfx/tmm.mp3 b/sfx/tmm.mp3 new file mode 100644 index 0000000..f9d2a03 Binary files /dev/null and b/sfx/tmm.mp3 differ diff --git a/sfx/triple.mp3 b/sfx/triple.mp3 new file mode 100644 index 0000000..aa6c3f5 Binary files /dev/null and b/sfx/triple.mp3 differ diff --git a/sfx/urf.mp3 b/sfx/urf.mp3 new file mode 100644 index 0000000..3128b44 Binary files /dev/null and b/sfx/urf.mp3 differ diff --git a/sfx/wahwah.mp3 b/sfx/wahwah.mp3 new file mode 100644 index 0000000..89bb3bf Binary files /dev/null and b/sfx/wahwah.mp3 differ diff --git a/sfx/wdied.mp3 b/sfx/wdied.mp3 new file mode 100644 index 0000000..6b43458 Binary files /dev/null and b/sfx/wdied.mp3 differ diff --git a/sfx/wow.mp3 b/sfx/wow.mp3 new file mode 100644 index 0000000..1a2f5a1 Binary files /dev/null and b/sfx/wow.mp3 differ diff --git a/sfx/wtf.mp3 b/sfx/wtf.mp3 new file mode 100644 index 0000000..e083869 Binary files /dev/null and b/sfx/wtf.mp3 differ diff --git a/tokens.json.example b/tokens.json.example new file mode 100755 index 0000000..df96360 --- /dev/null +++ b/tokens.json.example @@ -0,0 +1,6 @@ +{ + "d_token" : "YOUR DISCORD APP TOKEN", + "adminID" : "YOUR DISCORD USER ID", + "prefix" : "++", + "passes" : 1 //can be increased to reduce packetloss at the expense of upload bandwidth, 4-5 should be lossless at the expense of 4-5x upload +} \ No newline at end of file