Skip to main content

An API wrapper for Discord filled with snakes

Project description

PyPI Downloads Code style: black black-formatted CodeQL Discord Documentation Status

What is this?

This is Dis-Snek, a python API wrapper for Discord. Snek is intended to be fast, easy to use, and easily modified to suit your needs.

Features:

  • ✅ 100% coverage of the application commands API
  • ✅ Dynamic cache with TTL support
  • ✅ Modern and Pythonic API
  • ✅ Proper rate-limit handling
  • ✅ Feature parity with most other Discord API wrappers

Is this just another Discord.py fork?

While this library shares features and some stylistic choices with discord.py, it is completely separate from them. We think discord.py is a fantastic library, but we disagree with the direction and design decisions that were made by it.

How do I use this?

Here is a basic example:

from dis_snek import Snake, Button, ButtonStyles, CommandTypes, context_menu, prefixed_command, listen

bot = Snake(sync_interactions=True)

@listen()
async def on_startup():
    print("Ready")
    print(f"This bot is owned by {bot.owner}")

@prefixed_command()
async def test_button(ctx):
    await ctx.send("Blurple button example!", components=Button(ButtonStyles.BLURPLE, "Click me"))

@context_menu(name="User menu", context_type=CommandTypes.USER, scopes=[931832853770149918])
async def user_context(ctx):
    await ctx.send("Context menu example!", ephemeral=True)


bot.start("TOKEN")

For more examples check out our examples repo or the docs. You also can explore projects with the dis-snek topic.

If you get stuck join our Discord server.

"Can I contribute to this project?"

Of course, we welcome all contributions to this library. Just ensure you follow our requirements. If youre stuck for things to contribute, check out our GitHub Projects for inspiration.

Links:

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

dis-snek-9.0.0.tar.gz (597.6 kB view details)

Uploaded Source

Built Distribution

dis_snek-9.0.0-py3-none-any.whl (648.4 kB view details)

Uploaded Python 3

File details

Details for the file dis-snek-9.0.0.tar.gz.

File metadata

  • Download URL: dis-snek-9.0.0.tar.gz
  • Upload date:
  • Size: 597.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for dis-snek-9.0.0.tar.gz
Algorithm Hash digest
SHA256 335db8acfcb6a0c6639813252969d2c79b3491c9cc72788ef29ddda882604bd8
MD5 5de69d70d6a848e42b2c5a4d416a4e94
BLAKE2b-256 304f17460d9df2cfa554067fed697d097e1a25d2ab90f633a671e3cfdea2fd62

See more details on using hashes here.

File details

Details for the file dis_snek-9.0.0-py3-none-any.whl.

File metadata

  • Download URL: dis_snek-9.0.0-py3-none-any.whl
  • Upload date:
  • Size: 648.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for dis_snek-9.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac42f61872014d2e297ddca031a40dae8ec3d592816702108fa4c31eb26dda02
MD5 fe790a6d78f28f58a5cfee34aef07502
BLAKE2b-256 245972ffa19a4a6cb592f4ff403883a37e14ecf4afe2216c6178d231188b3b6d

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