wyvern
A [WIP] flexible and easy to use Discord API wrapper for python 🚀.
Warning: This library is very unstable and things might not work as expected. Feel free to create an issue.
Important Links
Support server: https://discord.gg/FyEE54u9GF
Documentation: https://sarthhh.github.io/wyvern/
PYPI: https://pypi.org/project/wyvern
Installation
$python -m pip install git+https://github.com/sarthhh/wyvern
Example Code:
- CommandsClient with commands support.
import wyvern
# creating a CommandsClient object to interaction with commands.
client = wyvern.CommandsClient("TOKEN")
# creating a slash command using with_slash_command decorator.
@client.with_slash_command(name="hello", description="says a hello")
async def hello(interaction: wyvern.ApplicationCommandInteraction) -> None:
# creating a response to the interaction.
await interaction.create_message_response("hi!")
# running the bot.
client.run()
- Basic GatewayClient with listener.
import wyvern
# creating a GatewayClient instance and storing it into the client variable.
# this acts as the interface between your bot and the code.
client = wyvern.GatewayClient("TOKEN", intents=wyvern.Intents.UNPRIVILEGED | wyvern.Intents.MESSAGE_CONTENT)
# creating an EventListener object and adding it to the client's event handler using the
# @client.with_listener decorator. You can set the maximum amount of time this listener will get triggered using
# the `max_trigger kwarg in the listener decorator.`
@client.as_listener(wyvern.Event.MESSAGE_CREATE)
async def message_create(message: wyvern.Message) -> None:
"""This coroutine is triggerd whenever the MESSAGE_CREATE event gets dispatched."""
if message.content and message.content.lower() == "!ping":
await message.respond("pong!")
# runs the bot.
client.run()
Metadata
Release files for wyvern 0.1.1
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 | Actions |
|---|---|---|---|---|
| wyvern-0.1.1.tar.gz | 48.6 kB | Without provenance | Details for wyvern-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wyvern-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for wyvern-0.1.1-py3-none-any.whl |
Total release size: 147.6 kB
Release files / wyvern-0.1.1.tar.gz
| Download URL | wyvern-0.1.1.tar.gz |
|---|---|
| Size | 48.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7ee110e6dabf1d77722fd359e50e97adffa15410364050e998968cc5d0c29046
|
|
BLAKE2b-256 checksum How to use checksums |
d14d1f5b2e1209ddc5fc9cad15426f9f29f1887610132c55ea7aadafa333444e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.10.8 Linux/6.0.8-arch1-1
|
Release files / wyvern-0.1.1-py3-none-any.whl
| Download URL | wyvern-0.1.1-py3-none-any.whl |
|---|---|
| Size | 99.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
557db5ea0f3f6dd07e823bf20cf0a0fbff96ca98147d23319f146d675475d101
|
|
BLAKE2b-256 checksum How to use checksums |
632fe9a1c96efa56d58ff7348b497192b0856f9dc9298d988a2c19458d7ac35d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.10.8 Linux/6.0.8-arch1-1
|
Security for wyvern 0.1.1
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.