Skip to main content

Middleware-based event processing library for Discord

Project description

Concord

Middleware-based event processing library for Discord. Uses discord.py under the hood.

Build Status Codecov

Concord is not a library for accessing Discord API. If you're here for an API library, see discord.py or disco, or Discord Developer Documentation page with a list of libraries for different languages.

Purpose

The library aims to provide a more convenience way to handle Discord gateway events, with code reusing where it's possible, including separating functionality into extensions.
Event processing is done using the programmer-defined handlers tree. Like in web applications, due to similarity of the concepts of processing requests, Concord calls these handlers as middleware as well.

Concord doesn't try to be either a fast or a slow library. For it's customization ability, it had to pay the speed.

Example

Hugo - example bot, built on the Concord. Take a note, that there's no so much code. It just registers extensions - third-party middleware sets.
Actually, Concord - is a successor of Hugo. You can figure this out by the code history.

Example extensions: concord-ext-audio, concord-ext-player, concord-ext-stats.

Installation

Via Poetry

Concord uses Poetry for it's dependency management. You can add Concord to your project using Poetry:

poetry add cncrd

Poetry will handle the rest for you.

Take a note, that cncrd has no vowels. Concord's and extensions' distribution name iscncrd.

Via pip / other package manager

Concord is hosted on PyPI and can be installed via other package managers:

pip install cncrd

Concord has a specific requirement - rewrite branch of discord.py that is handled by Poetry, but not by other package managers. Take care of installing it too:

pip install -U https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py

Development

Concord's development version is located in the dev branch, and, in most cases, it's a pretty stable to use in case you're a bot developer.

poetry add cncrd --git https://github.com/narimanized/concord

Documentation

I'm really sorry, but there's no online documentation yet.
But. Concord is a small library, the code is well documented, and, with a mentioned examples, you can quickly understand everything. Feel free to open an issue on GitHub, if you need some help.

License

MIT.
See LICENSE file for more information.

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

cncrd-0.10.1.tar.gz (13.0 kB view hashes)

Uploaded Source

Built Distribution

cncrd-0.10.1-py3-none-any.whl (59.8 kB 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