[](https://pypi.org/project/dis-snek/)
[](https://pepy.tech/project/dis-snek)
[](https://github.com/psf/black)
[](https://github.com/Discord-Snake-Pit/Dis-Snek/actions/workflows/black.yml)
[](https://github.com/Discord-Snake-Pit/Dis-Snek/actions/workflows/codeql-analysis.yml)
[](https://discord.gg/dis-snek)
[](https://dis-snek.readthedocs.io/en/latest/?badge=latest)
# 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:
```python
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](https://github.com/Discord-Snake-Pit/examples) or the [docs](https://dis-snek.readthedocs.io/). You also can [explore projects with the dis-snek topic](https://github.com/topics/dis-snek).
If you get stuck join our [Discord server](https://discord.gg/dis-snek).
## "Can I contribute to this project?"
Of course, we welcome all contributions to this library. Just ensure you follow our [requirements](/CONTRIBUTING.md).
If youre stuck for things to contribute, check out our [GitHub Projects](https://github.com/orgs/Discord-Snake-Pit/projects/1) for inspiration.
## Links:
- Support Server: https://discord.gg/dis-snek
- Documentation: https://dis-snek.rtfd.io/
- GitHub Projects: https://github.com/orgs/Discord-Snake-Pit/projects/1