Merge branch 'master' of https://gitea.dangerouspenguins.de/mloe/DiscordBot
This commit is contained in:
commit
1f11384809
65
README.md
Normal file
65
README.md
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# Sample Discord Bot with self update
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Python 3.8 or higher
|
||||
- Git
|
||||
- (optional) systemd or equivalent, restarting the bot might be a bit messy otherwise
|
||||
|
||||
## Installation
|
||||
|
||||
- Just clone the repository to wherever you like
|
||||
- If you run systemd, create a service. For example:
|
||||
```
|
||||
# discord-bot.service
|
||||
|
||||
[Unit]
|
||||
Description=Test Discord Bot
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/home/marco/Projects/DiscordBot
|
||||
ExecStart=/usr/bin/python3.10 /home/marco/Projects/DiscordBot/bot.py
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
- If you don't run systemd, you have to edit the update script to something like
|
||||
```
|
||||
pkill -f 'bot.py'
|
||||
git pull origin master
|
||||
python3 bot.py
|
||||
```
|
||||
|
||||
### (optional) Setting up systemd user service
|
||||
|
||||
Systemd only allows system wide services out of the box. Those require root access though.
|
||||
If you don't wanna run the bot on an account with root access, here's what you can do:
|
||||
|
||||
On an account with root access run:
|
||||
|
||||
```
|
||||
loginctl enable-linger <username> // This will enable a user specific service manager
|
||||
```
|
||||
More on that [here](https://www.freedesktop.org/software/systemd/man/loginctl.html#enable-linger%20USER%E2%80%A6).
|
||||
|
||||
Now reboot your system and log in to the non-root account.
|
||||
|
||||
You have to check two environment variables:
|
||||
```
|
||||
echo $XDB_RUNTIME_DIR // should return something like /run/user/1001
|
||||
echo $DBUS_SESSION_BUS_ADDRESS // should return something like /run/user/1001/bus
|
||||
```
|
||||
|
||||
Now you can create user services under /home/\<username\>/.config/systemd/user.
|
||||
|
||||
To control the service you then can do:
|
||||
```
|
||||
systemctl --user [start/stop/restart] <service name>
|
||||
```
|
||||
|
||||
To have the service start on boot do:
|
||||
```
|
||||
systemctl --user enable <service name>
|
||||
```
|
||||
Loading…
Reference in New Issue
Block a user