Discord Bot to fetch Albion Online information for the Shadow Spirits Guild
Initiate the discord server for a given Guild. It asks and save the IGN of the Guild.
List all the players in the subscribed Guild.
Give moderation permition to a given user. The users with permition should be able to execute Raid commands.
Fetch item price from the Albion Online Data Project
Type the name of the item in Brazilian Portuguese (PT-BT) and the tier you want in front of it in 'tX.X' format
If no tier information is supplied the bot will return the lowest tier for the item.
$price brumário t6.2
Organize a list of roles to a certain content.
The content list templates are located in cogs\raids_template.json
To consult the list of templates execute the command $organize_raid_help
Type the template name of the raid, followed by the date in DD/MM/YYYY and the description of the raid. Use ;
to break lines in the description.
The list will be shown as a discord message and each role will have his own emoji. The players then should select the emoji they want to fill the specific role.
$organize_raid avalon 21/02/2023 "Saída as 18:00;Levar montaria rápida; Comida .2"
Show help to organize a raid in Discord.
- Requirements:
- Python 3.8 or higher
- Create Discord Bot at Discord Developers Applications to get a valid token and use Discord Permissions to add the bot in your server
- Clone this repository
- Add token to a .env file in the project root, use .env-sample as exemple.
-
Create python environment
$ python -m venv --clear --copies .venv
-
Enter environment
Windows $ .venv\Scripts\activate.bat Linux $ source .venv/bin/activate
-
Upgrade pip and wheel
(.venv) $ python -m pip install --upgrade pip wheel
-
Install dependencies
(.venv) $ python -m pip install -r requirements.txt
-
Create database
(.venv) $python bot\db\init_db.py
-
Start bot
(.venv) $python bot\main.py
Inside the scheduler
folder there are 2 scripts: scheduler.py
and jobs.py
jobs.py
: ETL processes that can be executed manually or scheduled by applications/libraries like python-crontab;scheduler.py
: python-crontab implementation to run jobs defined onjobs.py
;
The shell script build.sh
was created in order to provide a dockerized version of scheduled jobs (Linux environment with docker.io installed is required).