Skip to main content

A Discord bot providing ADM summaries.

Project description

EVE ADM Bot

GitHub Workflow Status PyPI PyPI - Python Version codecov

This is a discord bot which will collect alliance system ADM's daily and provide commands to display them in a convenient tier list.

⚡ Quick Start

From PyPI

# 1. Set up environment
export DISCORD_TOKEN=your-token-here
export DISCORD_CHANNEL=your-channel-here
export DISCORD_APP_ID=your-app-id-here
export ALLIANCE_ID=your-alliance-id-here

# 2. Install package from PyPI
pip install pydisadm

# 3. Run Bot
python -m pydisadm

From source

# 1. Clone repository
git clone https://github.com/agelito/adm-bot
cd adm-bot

# 2. Copy and edit .env
cp .env.example .env

# 3. Install dependencies
poetry install

# 4. Run bot
poetry run python pydisadm/__main__.py

📃 Commands

  • /adm summary - send a summary of ADM's
  • /adm csv - send a csv of ADM's
  • /adm history <name> - send a graph showing system, constellation, or region ADM over time
  • /adm refresh - manually refresh the data
  • /adm update <system> - manually update ADM for system
  • /adm recommend - recommend a system to raise ADM in

🔧 Configuration

Configuration is done using environment variables or dotenv. See .env.example for example configuration.

  • DISCORD_TOKEN - the token bot should use when communicating with discord.
  • DISCORD_CHANNEL - the channel name bot should listen too, if this is empty the bot will listen to all channels.
  • DISCORD_APP_ID - the bot application ID
  • ALLIANCE_ID - the alliance ID for collecting ADM values, only systems owned by this alliance will be collected.

🔍 Caveats

  • The ADM data from ESI is only updated once a day, so refreshing more often than that is not necessary.
  • The database will continue to fill up with historic entries, manually inspect size and purge older entries if it's too big.

🚧 Development

Environment

The development environment and dependencies is managed using poetry. Use the following command to set up environment and install dependencies:

poetry install

A nested poetry shell can be started using this command:

poetry shell

Run Linting

pylint --rcfile pylint.rc pydisadm/**/*.py

Run Unit Tests

pytest tests/ --cov=pydisadm --cov-branch

💡 Credits

Project is forked from and inspired by @anjode

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydisadm-1.1.2.tar.gz (1.1 MB view hashes)

Uploaded Source

Built Distribution

pydisadm-1.1.2-py3-none-any.whl (1.1 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page