A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.
Key Features
Modern Pythonic API using async and await.
Proper rate limit handling.
Optimised in both speed and memory.
Installing
Python 3.8 or higher is required
To install the library without full voice support, you can just run the following command:
# Linux/macOS
python3 -m pip install -U bavera
# Windows
py -3 -m pip install -U bavera
Otherwise to get voice support you should run the following command:
# Linux/macOS
python3 -m pip install -U "bavera[voice]"
# Windows
py -3 -m pip install -U bavera[voice]
To install the speed version with additional speedups run the following command:
# Linux/MacOS
python3 -m pip install -U bavera[speed]
# Windows
py -3 -m pip install -U bavera[speed]
To install the development version, do the following:
$ git clone https://github.com/bavera/bavera
$ cd bavera
$ python3 -m pip install -U .[voice]
Optional Packages
PyNaCl (for voice support)
Please note that on Linux installing voice you must install the following packages via your favourite package manager (e.g. apt, dnf, etc) before running the above commands:
libffi-dev (or libffi-devel on some systems)
python-dev (e.g. python3.8-dev for Python 3.8)
Quick Example
import bavera
class MyClient(bavera.Plugin):
async def on_ready(self):
print('Logged on as', self.user)
async def on_message(self, message):
# don't respond to ourselves
if message.author == self.user:
return
if message.content == 'ping':
await message.channel.send('pong')
client = MyClient()
client.run('token')
Bot Example
import bavera
import plugins
from plugins import commands
Plugger = commands.Plugger(command_prefix='>')
@Plugger.command()
async def ping(ctx):
await ctx.send('pong')
Plugger.run('token')
You can find more examples in the examples directory.
Links
Metadata
Release files for bavera 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bavera-2.0.0.tar.gz | 822.3 kB | Without provenance | Details |
Release files / bavera-2.0.0.tar.gz
| Download URL | bavera-2.0.0.tar.gz |
|---|---|
| Size | 822.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c5cc6b71e2c648678fd24b4d5431a9f3ee24a38dba5d47aa3987f8c9bef7016
|
|
BLAKE2b-256 checksum How to use checksums |
c1e5f44c57457802e978217c391317177fb47fb635d382a9075a8136340bba48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
|
Security for bavera 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.