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.

Source Distribution

quaggagriff-0.1.5.tar.gz (4.6 kB view hashes)

Uploaded source

Built Distribution

quaggagriff-0.1.5-py3-none-any.whl (5.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page