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 details)

Uploaded Source

Built Distribution

cncrd-0.10.1-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file cncrd-0.10.1.tar.gz.

File metadata

  • Download URL: cncrd-0.10.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.3 CPython/3.7.0 Windows/10

File hashes

Hashes for cncrd-0.10.1.tar.gz
Algorithm Hash digest
SHA256 b16a02d2aebc93aa5c039d3318807fc48ff1a6969770a543fb6b281692f330d3
MD5 283803f637fbf4e2d20429403ceae022
BLAKE2b-256 03db2a88faa1cb8b64e8ceb2df985771394144cb4b3a4d476619ca2aafe6597e

See more details on using hashes here.

File details

Details for the file cncrd-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: cncrd-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.3 CPython/3.7.0 Windows/10

File hashes

Hashes for cncrd-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 09919d680458de01e4989ecf76d5b3b46ff2f6a9611348da623df9fbce564f15
MD5 87aa06fb235e688809a6f5d1906fac24
BLAKE2b-256 b61a47e9ea5ae6306dc56a5b8b47f913e8b33ae5266017e625a06cf70a256725

See more details on using hashes here.

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