Skip to main content

A Discord bot for naturalists

Project description


Half zebra, half gryphon, Quaggagriff is a Discord bot for naturalists.

eBird commands:

  • hybrids
    • starts daily reporting of hybrids seen on eBird recently for the configured region

iNaturalist commands:

  • coming soon

Development is early alpha. The code is likely to change considerably over the next little while. This bot requires:

  • python >= 3.5
  • a bot token
  • an eBird API key (for eBird commands)


pip install quaggagriff


  • obtain a bot token for
  • obtain An API key for eBird API 2.0
  • create qgriff.ini and configure as follows
key = your-bot-token-goes-here

key = your-ebird-api-key-goes-here

command_prefix = ,

days = 30
region = CA-NS
run_hr = 5
run_min = 0

The above values, which are also the defaults if none are specified in qgriff.ini, will:

  • set the bot command prefix to comma (",")
  • set the 'hybrids' command defaults to report hybrids from eBird:
    • seen within the past 30 days
    • in CA-NS (Nova Scotia, Canada, where the author lives)
    • at 05:00 daily
python -m qgriff.qgriff

Note: One or more qgriff.ini files can be located in the working directory for the above command, in your user config dir, or your site config dir.

If you want to keep it simple, just put qgriff.ini in the working directory. Otherwise, where the user & site config dirs are depends on which OS/platform you are on, as determined by:

dirs = AppDirs('qgriff', 'Quaggagriff')
user_config_dir = dirs.user_config_dir
site_config_dir = dirs.site_config_dir

See for details. A future release will support writing configuration values to this directory, and then the user will not normally need to know where the configuration is stored.



Reports daily at the configured run_hr:run_min which hybrids have been observed at (with or without confirmation) within the last configured days in the configured region.

After reporting has started, re-triggering the command only reports when the reporting period started & how many reports have been issued since then.


  • permissions (restrict command usage to specific roles)
  • commands (start & stop reporting task(s), status, etc.)
  • iNaturalist commands
  • better doc (deferred until some of the above have been sorted out)

Project details

Download files

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

Files for quaggagriff, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size quaggagriff-0.1.5-py3-none-any.whl (5.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size quaggagriff-0.1.5.tar.gz (4.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page