add code from codecat
This commit is contained in:
parent
a37405c224
commit
f0607b82e7
4
.dockerignore
Normal file
4
.dockerignore
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
node_modules
|
||||||
|
yarn.lock
|
||||||
|
package-lock.json
|
||||||
|
config.toml
|
110
.gitignore
vendored
110
.gitignore
vendored
|
@ -1,104 +1,10 @@
|
||||||
# Logs
|
# Internal
|
||||||
logs
|
config/
|
||||||
*.log
|
config.toml
|
||||||
npm-debug.log*
|
local/
|
||||||
yarn-debug.log*
|
modules/livenp.js
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
# Node
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
node_modules/
|
||||||
jspm_packages/
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
# TypeScript v1 declaration files
|
|
||||||
typings/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Microbundle cache
|
|
||||||
.rpt2_cache/
|
|
||||||
.rts2_cache_cjs/
|
|
||||||
.rts2_cache_es/
|
|
||||||
.rts2_cache_umd/
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variables file
|
|
||||||
.env
|
|
||||||
.env.test
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# Next.js build output
|
|
||||||
.next
|
|
||||||
|
|
||||||
# Nuxt.js build / generate output
|
|
||||||
.nuxt
|
|
||||||
dist
|
|
||||||
|
|
||||||
# Gatsby files
|
|
||||||
.cache/
|
|
||||||
# Comment in the public line in if your project uses Gatsby and *not* Next.js
|
|
||||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
||||||
# public
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# TernJS port file
|
|
||||||
.tern-port
|
|
||||||
|
|
45
README.md
45
README.md
|
@ -1 +1,44 @@
|
||||||
# radiobot
|
# Radiobot
|
||||||
|
|
||||||
|
Radio Bot based on codecat/reddit-radio
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
* Live radio re-streaming to voice channels (using multiple bot users), automatically turned on/off when someone joins/leaves the bound channel.
|
||||||
|
* Other cool things.
|
||||||
|
|
||||||
|
|
||||||
|
## Modules
|
||||||
|
A module is a class in the `modules` folder. It accepts the following methods:
|
||||||
|
|
||||||
|
* `constructor(config, client, bot)` where `config` is the object directly from the config file, `client` is the Discord client, and `bot` is the `RedditRadio` object.
|
||||||
|
* `onCmdXxxx(msg, ...)` where `Xxxx` is a command name like `.xxxx`.
|
||||||
|
* `onTick()` is called every second.
|
||||||
|
* `onMessage(msg)` is called whenever a message is sent in any channel. Return `false` if the message can pass through to other commands and handlers, or `true` to stop that from happening.
|
||||||
|
|
||||||
|
|
||||||
|
## (Optional) How to run using Docker
|
||||||
|
You can use Docker and a mounted volume to easily run Reddit Radio.
|
||||||
|
|
||||||
|
The Reddit Radio Docker image is publically available on Docker Hub and can be found [here](https://hub.docker.com/r/codecatt/reddit-radio) and are automatically built each time a change is made to the master branch.
|
||||||
|
|
||||||
|
### How to run using built image
|
||||||
|
1. Create a folder where you'd like to run the docker image
|
||||||
|
2. Create a folder called `config` or similiar to keep your configuration in
|
||||||
|
3. Make a copy of `config.example.toml` called `config.toml` and place it in your `config` folder
|
||||||
|
4. Edit the config file
|
||||||
|
5. Run the following command `docker run -d --name reddit-radio -v $(pwd)/config:/app/config codecatt/reddit-radio:latest`
|
||||||
|
|
||||||
|
### Running using Docker from the repo
|
||||||
|
1. Clone this repo
|
||||||
|
`git clone https://github.com/codecat/reddit-radio.git`
|
||||||
|
2. Build the Docker image
|
||||||
|
`docker build . -t reddit-radio`
|
||||||
|
3. Create a folder called `config` or similiar to keep your configuration in
|
||||||
|
4. Make a copy of `config.example.toml` called `config.toml` and place it in your `config` folder
|
||||||
|
5. Edit the config file
|
||||||
|
6. Run the following command
|
||||||
|
`docker run -d --name reddit-radio -v $(pwd)/config:/app/config reddit-radio`
|
||||||
|
|
||||||
|
Note: For development you could map your whole code directory as follows:
|
||||||
|
`docker run -d --name reddit-radio -v $(pwd):/app reddit-radio`
|
||||||
|
|
Loading…
Reference in a new issue