diff --git a/README.md b/README.md
index 8b608513..7d61981e 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
-**⚠️ Note: This repository is currently under development and is not yet production-ready. Use at your own risk.**
+⚠️ Note: This project is under active development and intended for local or LAN deployment only. It's not recommended for public hosting or production use.
Table of Contents
@@ -37,8 +37,6 @@
-Twitch stream manager is under **development** and for now designed to be deployed on localhost and home LAN only.
-It **SHOULD NOT** be on online hosting
## Built with
@@ -66,7 +64,7 @@ It **SHOULD NOT** be on online hosting
### Prerequisites
-It can work on most versions, tho it is most tested on versions mentioned
+Works on many Node/Mongo versions; testing is done against the versions listed below.
- MongoDB (`v8.0+`)
@@ -74,8 +72,9 @@ It can work on most versions, tho it is most tested on versions mentioned
- npm
+Ensure npm is up to date (optional):
```sh
- npm install npm@latest -g
+npm install -g npm@latest
```
### Installation
@@ -120,8 +119,9 @@ CLIENT_SECRET=
# Read below for YOUTUBE_API_KEY_V3
YOUTUBE_API_KEY_V3=keyapi
-# ENCRYPTION_KEY - have to be 16 bytes string
-# I've used crypto libaray: crypto.randomBytes(16).toString('hex')
+# ENCRYPTION_KEY - must be a 16-byte value (hex-encoded)
+# To generate a secure key:
+# node -e "console.log(require('crypto').randomBytes(16).toString('hex'))"
ENCRYPTION_KEY=random_encryption_secret_stringkey
# REDIRECT_URL=/auth/twitch/callback
@@ -152,7 +152,7 @@ DISCORD_CLIENT_ID=
`OAuth Redirect URLs` - in twitch app should have \/auth/twitch/callback
`REDIRECT_URL` - must be same as **OAuth Redirect URLs** from app registered above
-`BOT_PASSWORD` - can be obtained by accesing Implicit grant flow. More information: https://dev.twitch.tv/docs/authentication/getting-tokens-oauth/#implicit-grant-flow
+`BOT_PASSWORD` - can be obtained by accessing the Implicit Grant flow. More information: https://dev.twitch.tv/docs/authentication/getting-tokens-oauth/#implicit-grant-flow
`BOT_ID` - can be obtained from twitch api or any external site
`DISCORD_CLIENT_TOKEN` and `DISCORD_CLIENT_ID` - both can be obtained from discord developer portal: https://discord.com/developers/applications
@@ -168,9 +168,11 @@ DISCORD_CLIENT_ID=
```
- then build
- ```sh
- npm build
- ```
+```sh
+npm run build
+```
+
+Run this from the server folder; use the script name defined in server/package.json if different.
- then run
@@ -188,15 +190,11 @@ DISCORD_CLIENT_ID=
- navigate to frontend folder
- ```sh
- cd frontend
- ```
-
-- navigate to frontend folder
-
- ```sh
- npm start
- ```
+```sh
+cd frontend
+npm install
+npm run dev
+```
## Usage
@@ -211,7 +209,7 @@ Once the app is started, it will listen for incoming twitch chat messages on you
- Create modes and assign them to timers / triggers / commands / message categories
- By default global modes are created
- Depends on which Tags and/or Moods are currently turned on, bot sends other messages(_of course if you added any_)
- - Affixes are a bit different, just because they works as affix to messages. Each of affixes have multipler(in %) that adjust global configs of affix chance
+ - Affixes are a bit different — they act as message affixes. Each affix has a multiplier (in %) that adjusts global affix chances.
- Timers:
- Schedule messages to be sent at regular intervals
@@ -224,7 +222,7 @@ Once the app is started, it will listen for incoming twitch chat messages on you
- Triggers:
- Messages that triggers depends on context that user says
- - Each trigger canhave mode between: ALL / WHOLE-WORD / STARTS-WITH
+ - Each trigger can have a mode between: ALL / WHOLE-WORD / STARTS-WITH
- **STARTS-WITH**: trigger only fire when any word/message starts with word
- **WHOLE-WORD**: trigger only fire when whole word occurs
- **ALL**: trigger fire wherever word occurs
@@ -265,10 +263,8 @@ Once the app is started, it will listen for incoming twitch chat messages on you
- - Chat commands can contain user data who triggered command with `$user{}` fe.
- - `@$user{username}`, your messages: `$user{messageCount}`
- - And this command data with `$command{}` fe.
- - I'm command and my name is: `$command{name}`
+ - Chat commands can contain user data from the user who triggered the command with `$user{}` (e.g. `@$user{username}` or `$user{messageCount}`).
+ - Commands can also include command data with `$command{}` (e.g. `$command{name}`).
- Chat logging:
- Log all messages from the chat to database.
@@ -309,24 +305,24 @@ Once the app is started, it will listen for incoming twitch chat messages on you
## Roadmap
-- [] Add subscriptions to follows, subs, cheers and others
-- [] Add styles for overlay and events widgets
-- [] Add music from youtube to overlay
-- [] Add info about music to database
-- [] Add complete user edit
-- [] Add functionality to non sub timers
-- [] Refactor prefixes, sufixes to get from enabled modes
-- [] Add information about fields in frontend when:
- - [] Creating new triggers, chat commands, timers or message categories
- - [] Editing configs to understand what each config option does
-- [] Add rest of alert sounds options (fe. enabled, colors, prompts etc.)
-- [] Add more stream statistics and improve existing
-- [] Add variety chat games (fe. random numbers, jokes etc)
-- [] Add starting soon and ending screens as overlays
+- [ ] Add subscriptions to follows, subs, cheers and others
+- [ ] Add styles for overlay and events widgets
+- [ ] Add music from YouTube to overlay
+- [ ] Add info about music to database
+- [ ] Add complete user edit
+- [ ] Add functionality to non sub timers
+- [ ] Refactor prefixes, suffixes to get from enabled modes
+- [ ] Add information about fields in frontend when:
+ - [ ] Creating new triggers, chat commands, timers or message categories
+ - [ ] Editing configs to understand what each config option does
+- [ ] Add rest of alert sounds options (e.g. enabled, colors, prompts etc.)
+- [ ] Add more stream statistics and improve existing
+- [ ] Add variety chat games (e.g. random numbers, jokes etc)
+- [ ] Add starting soon and ending screens as overlays
## License
-Distributed under the MIT License. See `LICENSE.md` for more information.
+Distributed under the MIT License. See LICENSE for details.
## Contact