Galarzaa90 / GuildWatcher

A discord webhook to announce changes in a Tibia Guild.
MIT License
4 stars 5 forks source link
discord discord-webhooks python python3 python34 tibia

GuildWatcher

A discord webhook that posts guild changes (member joins, members leaves, member promoted) in a Discord channel.

GitHub Workflow Status GitHub release PyPI PyPI - Python Version PyPI - License codecov

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

  1. On the desired channel, go to its settings and click on the Webhooks section.
  2. Click on Create Webhook.
  3. Customize the avatar as needed.
  4. Copy the webhook's URL.
  5. 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.

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

Known Issues

Planned features

Example

image