# Praxis Bot
Praxis_Bot is software that focuses on improving communication and management between people, processes, and services. This bot aims to assist and enhance live streams, digital exhibits, chat rooms, and other countless spaces or venues.
The bot provides and assists with several things like custom commands, channel rewards, stream sources, digital or practical effects, and moderation support, especially across multiple platforms and systems simultaneously.
___
# Requirements:
- Docker (For the Standalone Service Containers)
- Python (Min Version > 3.7 for TTS Speaker)
(Remember to use `pip install -r requirements.txt`)
___
# Docker:
This bot primarily uses docker to run various services.
To install Docker for windows visit: https://www.docker.com/get-started.
## Image Setup:
Use the following command in the terminal to setup all the images.
Windows: `makedockerimages.bat`
Linux: `makedockerimages.sh`
## Docker-Compose Info:
To Start:
`docker-compose up -d`
To Stop:
`docker-compose down`
___
# User TTS Speaker:
To receive audio from standalone_tt_core.py launch standalone_tts_speaker.py.
`python standalone_tts_speaker.py`
or
windows: `praxis-tts-speaker.bat` (Modify this to match the correct directory! Or no work for YOU!!!)
linux: `praxis-tts-speaker.sh`
___
# User Web Client:
Once Praxis_Bot is setup, to access the User Client visit `index.html` from `\user_client\v1\` in your browser.
___
# Credentials:
## Credentials Setup:
Create a json based on the templates and put them into the `/credentials/` folder.
Refer to the `/credential_templates/` folder for examples.
## For Twitch Credentials:
### Twitch IRC Chat Credentials:
Username = `TwitchUsername` *(Must match ***credentialsNickname*** in config)*
Helix Client ID = `https://dev.twitch.tv/console/apps`
Oauth = `https://twitchapps.com/tmi/`
V5 Client ID = `https://twitchtokengenerator.com/`
### Twitch PubSub Credentials:
pubsub_client_id = `https://dev.twitch.tv/console/apps` Set url to `http://localhost:17563`
pubsub_secret = `^Look at Instructions Above^`
pubsub_AccessToken = Generate by using: `python twitch_generate_credentials.py`
pubsub_RefreshToken = `^Look at Instructions Above^`
## For Database Credentials:
Will be replaced soon.
The current `db.py` file is not being used for now.
~~Nickname = `Anything You Want` *(Must match ***credentialsNickname*** in config)*~~
~~Engine = `"mysql+mysqlconnector://root:password@localhost:3306/DatabaseName"`~~
## For Discord Credentials:
Nickname = `Anything You Want` *(Must match ***credentialsNickname*** in config)*
Token = `https://discord.com/developers/`
## Phue Credentials:
The lights module will only be able to establish and generate credentials if the button on the bridge is pressed prior to running the script via:
`python lights_module.py`
After running a credential file will be created in the user's home directory on their operating system called `.python_hue` this can then be moved into the credentials folder.
## Credential Usage:
Place json credentials in the `/credentials/` folder.
To load them, run `load_credentials()` from `Credentials_Module` in the `credentials.py` script.
___
# Praxis_Bot Development and Technical Support:
If you want to get in on the action and join the conversations that affect this project's long-term development, create cool modules, or have questions join our discord!
`https://discord.com/invite/sNTXWn4`
To preview the bot you can check it out on my stream `thecuriousnerd.tv` This project is used heavily on my stream and is often worked upon during them.
___
# Support The Project:
If you wish to support the project, one of the easiest ways to do so is by sending either BTC or Eth
Bitcoin: `1BFQTkb43bGMSNJjsQtiqai5eQjF5CLcAG`
Ethereum: `0x34DE0330ba2CD4030bBbFE9B46D31DeFeE1ffa54`
___