LoadingReadyLive chatbot
Licensed under Apache-2.0 (LICENSE or https://www.apache.org/licenses/LICENSE-2.0).
LRRbot contains modules that aren't licensed under Apache-2.0:
lrrbot/commands/quote.pyis licensed under the MIT license.
Things not covered: tokens and secrets for Patreon integration, Slack integration, keys.json for Google Docs
-
These commands assume Ubuntu 19.04 and that you're using Bash as your shell. Adapt as needed.
Currently LRRbot works with PostgreSQL >= 9.5 (recommended version: 10.8) and Python >= 3.5 (recommended version: 3.7), if the exact versions in the command below are unavailable on your operating system.
sudo apt install git postgresql libpq-dev python3.7-dev build-essential pipenv git clone git@github.com:mrphlip/lrrbot cd lrrbot pipenv sync --dev sudo -u postgres psql -c "CREATE USER \"$USER\";" sudo -u postgres psql -c "CREATE DATABASE lrrbot;" sudo -u postgres psql -c "GRANT ALL ON DATABASE lrrbot TO \"$USER\";" -
Write a
lrrbot.conffile. Basic template:[lrrbot] username: password: oauth channel: preferred_url_scheme: http session_secret: google_key: twitch_clientid: twitch_clientsecret: [apipass] [alembic] script_location = alembic
Values to fill in:
username: The Twitch username of the bot. You can use your personal account, you don't need to create a new one for the bot.channel: The channel the bot will join. Can be the same asusername.session_secret: A random string. You can generate one with the commandhead -c 18 /dev/urandom | base64google_key: API key to Google's services. Create a project on Google Developer Console, enable Google Calendar API, and generate an API key under Credentials.twitch_clientidandtwitch_clientsecret: In the Twitch Dev console register a new application. Set the redirect URI tohttp://localhost:5000/login.
-
Populate the database:
pipenv run alembic -c lrrbot.conf upgrade head -
Start LRRbot components:
- IRC bot:
pipenv run ./start_bot.py - Webserver:
pipenv run ./webserver.py - (optional) Server-sent events server:
pipenv run ./eventserver.py
- Go to
http://localhost:5000/loginand log in with the bot account (name inusernameconfig key) and the channel account (name inchannelconfig key). - Restart the bot.
The Discord bot is written in Rust and lives in its own repository.