nxy irc bot
Go to file
jkhsjdhjs b1100db649 urlinfo: make .* in front of the URL non-greedy
This is done because URLs may contain one or more other URLs that match
the url pattern (e.g. https://web.archive.org links). Because .* is
greedy by default, this caused only the last matching URL to be
captured, instead of the full URL.
2023-08-05 13:42:46 +00:00
bot urlinfo: make .* in front of the URL non-greedy 2023-08-05 13:42:46 +00:00
files weather: switch to OpenWeatherMap 2021-05-20 14:00:35 +00:00
.gitignore Ignore vim .swp files 2017-09-05 21:24:09 +02:00
FORMATTING.md Massive refactoring/-structuring 2017-07-07 02:49:37 +02:00
README.md Revert "Update README.md" 2021-05-20 02:09:19 +00:00
requirements.txt linux: use json kernel.org release feeed 2022-11-08 00:25:05 +00:00
TODOs Fixed bug in rainbow function which breaks output with numbers 2017-08-01 15:50:12 +02:00
tox.ini Updated flake8 settings 2017-08-22 19:02:45 +02:00

Installation

Open psql as user postgres:

psql -U postgres

Create a user with password, allowed to login and a database:

CREATE ROLE nxy WITH ENCRYPTED PASSWORD 'your-password';
ALTER ROLE nxy LOGIN;
CREATE DATABASE nxy_prod OWNER nxy;
\c nxy_prod
CREATE EXTENSION citext;
\q

Apply database schema and optionally restore a dump:

psql -U nxy -d nxy_prod < nxy/files/schema.sql
psql -U nxy -d nxy_prod < path/to/dump.sql

Clone git repo, create virtual env, activate it and install dependencies:

git clone https://gitfap.de/mrhanky/nxy.git
python3 -m venv env
source env/bin/activate
pip install -U -r nxy/requirements.txt

Copy sample configs to $HOME and edit them:

cp nxy/files/{.env,config.json} .
vim .env config.json

Running as Service

Enable linger for the bot user (so it starts at boot and keeps running), install and activate systemd unit:

sudo loginctl enable-linger nxy
mkdir -p $HOME/.config/systemd/user
ln -fs $HOME/nxy/files/nxy-bot.service $HOME/.config/systemd/user
systemctl --user enable --now nxy-bot.service

Install and activate timer for database dumps:

ln -fs $HOME/nxy/files/nxy-db-dump.{timer,service} $HOME/.config/systemd/user
systemctl --user enable --now nxy-db-dump.timer

Running as Standalone in Development Mode

For development set the BOT_DEV variable:

export BOT_DEV=

Then add the current git repository to your python path:

export PYTHONPATH=<git repository>:$PYTHONPATH

Finally run nxy:

python3 -m bot