A discord webhook to track Tibia guild changes.
Project description
GuildWatcher
A discord webhook that posts guild changes (member joins, members leaves, member promoted) in a Discord channel.
Installing
with pip
To install the latest version on PyPi:
pip install guildwatcher
or
Install the latest version from GitHub
pip install git+https://github.com/Galarzaa90/GuildWatcher.git
with docker
docker pull galarzaa90/guild-watcher
with git
You can download the files and run locally, but you will require to install dependencies yourself:
git clone https://github.com/Galarzaa90/GuildWatcher
pip install -r requirements.txt
Configuring Webhooks
- On the desired channel, go to its settings and click on the Webhooks section.
- Click on Create Webhook.
- Customize the avatar as needed.
- Copy the webhook's URL.
- Create a file named config.yml and edit it, basing it on config-example.yml.
- The top level
webhook_url
will be used, but if you want another guild to use a different URL, you can specify one for that guild.
- The top level
Running
The data directory
The script saves every guild's data to a .data
file. On the next scan, the current state of the guild is compared with the previous guild's data in order to detect the changes.
The .data
files allow the script to be able to keep track of changes between executions. Without a .data
file, if the script was stopped and was executed an hour later, all changes that occurred in that time frame would not be detected.
Installed via pip or locally
config.yml
must be in the same directory you're running the script from.
If installed using pip, you can run the script in one of two ways:
guildwatcher
or
python -m guildwatcher
From docker image
In order to run the script from a docker image, you need to mount the configuration file to /app/config.yml
.
While not required, it is highly recommended mounting a directory to store the guild data, to persist data files between executions. The data folder must be mounted to /app/data/
.
docker run \
-v "$(pwd)"/config.yml:/app/config.yml \
-v "$(pwd)"/data/:/app/data/ \
--rm -it galarzaa90/guild-watcher
Current Features
- Announces when a member joins.
- Announces when a member leaves or is kicked.
- Announce when a member is promoted or demoted.
- Announce when a member changes name.
- Announce when a member's title is changed.
- Announce when a new character is invited.
- Announce when an invitation is revoked or rejected.
- Announce when the guildhall changes.
- Announce when a guild's application status is changed
- Announce when a guild is in risk of being disbanded.
- Multiple guilds support.
- Configurable scan times.
- Webhook URL configurable per guild.
Known Issues
- Renaming a rank would trigger all rank members getting announced as leaving and joining back.
Planned features
- Announce changes in guild attributes.
- Application status
- Disband warning
- Granular notification settings (e.g. disable rank changes, disable title changes, etc.)
Example
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file guildwatcher-2.0.0.tar.gz
.
File metadata
- Download URL: guildwatcher-2.0.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b714f179dd3a63222a25545659e08f6c77e8b0caff025a0af4a6707586590b8 |
|
MD5 | 43917bb8457945697456dac28bcb7a93 |
|
BLAKE2b-256 | 49d853b89397d6ea9cfbc80d32131b67dccc6903bfe1e1102573f44e36edc255 |
File details
Details for the file guildwatcher-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: guildwatcher-2.0.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e3542b02e03b65ad272cf797d87190aee7e115c2f1b8b5f3af5b7dfd8f6303f |
|
MD5 | 410932d53e55ce2e4198d4f43017746b |
|
BLAKE2b-256 | d28f4e5ccb3706128ae6f36edc9608dece8e9b018c97ebcd51b75c788edd8b5b |