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.py
is 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.conf
file. 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 | base64
google_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_clientid
andtwitch_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/login
and log in with the bot account (name inusername
config key) and the channel account (name inchannel
config key). - Restart the bot.
The Discord bot is written in Rust and lives in its own repository.