|
2 | 2 | discord-interactions
|
3 | 3 | ====================
|
4 | 4 |
|
5 |
| -**A simple API wrapper for Discord interactions.** |
| 5 | +**Easy, simple, scalable and modular: a Python API wrapper for interactions.** |
6 | 6 |
|
7 | 7 | .. image:: https://img.shields.io/pypi/dm/discord-py-slash-command.svg
|
8 | 8 | :target: https://pypi.python.org/pypi/discord-py-interactions/
|
@@ -30,48 +30,81 @@ discord-interactions
|
30 | 30 |
|
31 | 31 | ----
|
32 | 32 |
|
33 |
| -This library specializes in the ability to create and use interactions, a new |
34 |
| -implementation to Discord's public API as of December 2020. The strong suits of using |
35 |
| -our library are: |
| 33 | +Ever since December 2019, this open-source project has become the culmination of dedication and research towards figuring out the best way to bring **interactions from Discord to you:** we are an easy, simple, scalable and modular library for Discord interactions. |
36 | 34 |
|
37 |
| -- Modern pythonic design that is scalable and modular. |
38 |
| -- Asynchronous coroutines and multi-threading capabilities. |
39 |
| -- Optimal class object reference with little overhead. |
40 |
| -- Easily accessible codebase source. |
41 |
| -- Stable/unstable branches for managing module stability when importing. |
| 35 | +- Tired of using numerous module dependencies for slash commands and buttons? |
| 36 | +- Looking for a compatible library that implements all interactions? |
| 37 | +- Itching to get your hands on slash commands, but in a simple manner? |
42 | 38 |
|
43 |
| -This means that we're essentially good for: |
| 39 | +Look no more! The goal of this library is to make all three of these questions go from possibilites to trivial matters. |
44 | 40 |
|
45 |
| -- Working with application commands. |
46 |
| -- Handling contextual data cached from text channels. |
47 |
| -- General/basic assignment of guild properties to members. |
48 |
| -- Responsive callbacks for buttons and select menus. |
| 41 | +What can we do? |
| 42 | +*************** |
| 43 | +Our library---inside and out, offers numerous benefits and presents itself as a worthy module in your bot's dependencies: |
49 | 44 |
|
50 |
| -And we're not good for: |
| 45 | +The base features of our library, built with our API include: |
51 | 46 |
|
52 |
| -- Trying to use/connect as a voice client. |
53 |
| -- Cooldowns/bucket types. |
| 47 | +- **Dynamic object data generation**: all event data dispatched from the Gateway is dynamically transformed and generated into two-way serializable JSON objects. |
| 48 | +- **Sane rate limiting**: our HTTP client implements pre-emptive rate limit avoidance, so your bot is guaranteed to never hit HTTP ``429``. |
| 49 | +- **On-demand cache**: every HTTP request and Gateway event made is cached when needed, so you never have to save information yourself. |
| 50 | +- **Simplified data models**: every object presented is accessible as either a raw dictionary/``application/json`` or list of recursive attributes. |
54 | 51 |
|
55 |
| -============ |
56 |
| -Installation |
57 |
| -============ |
| 52 | +Some more unique features that are exclusive to our interactions include: |
58 | 53 |
|
59 |
| -Use this line to install our library: |
| 54 | +- **Event-triggered callbacks**: whether a component, application command or interaction response, you'll never need to worry about bridging responses. |
| 55 | +- **Dual-way decorator logic**: a decorator can act as both a constructor for an interaction, as well as a callback. |
| 56 | +- **API-strict naming**: no more confusion with the naming approach of many libraries; we follow the naming style of interactions from the officially curated Discord Developers documentation. |
| 57 | +- **Extensive framework structure**: (**pending in** ``4.1.0``) build your own tools and technologies for our library to develop and integrate community creations. |
60 | 58 |
|
61 |
| -.. code-block:: bash |
| 59 | +What do we not offer? |
| 60 | +********************* |
| 61 | +While we certainly offer a lot of benefits, we unfortunately have our own downsides: |
62 | 62 |
|
63 |
| - pip install -U discord-py-interactions |
| 63 | +.. note:: |
| 64 | + This list is subject to change as time goes on: |
| 65 | + some of these items may be added to the core of |
| 66 | + the library in the future. |
64 | 67 |
|
65 |
| ----- |
| 68 | +- No native cooldown decorator/method. |
| 69 | +- Lack of automatic sharding and voice clients. |
| 70 | + |
| 71 | +Where do I start? |
| 72 | +***************** |
| 73 | +Please check out our `quickstart guide`_ for some basic examples. |
| 74 | + |
| 75 | +How can I contribute? |
| 76 | +********************* |
| 77 | +Please read up on our `contribution requirements`_ for the project. This open-source project also enforces the `MIT License`_. |
| 78 | + |
| 79 | +This open-source project utilizes the following workflows for development: |
| 80 | + |
| 81 | +#. **pre-commit** ``2.16.0``: the architecture uses this before every commit to format and check for severity/QOL-breaking changes. |
| 82 | + |
| 83 | + #. **black** ``21.11b1`` |
| 84 | + #. **flake8** ``3.9.2`` |
| 85 | + #. **isort** ``5.9.3`` |
| 86 | + |
| 87 | +#. **Sphinx** ``4.1.2``: all of our documentation is powered off of autogenerated documentation of the Sphinx engine. |
| 88 | +#. **colorama** ``0.4.4``: our internal logger uses a customized coloring formatter to make looking for specific conditions easier when running tests. |
| 89 | +#. **Conventional Commits** ``1.0.0``: every commit that we make to our branches use the official specification of CC 1.0.0 to make git graphs easier when improving and refining communication between code reviews, Pull Requests and commits. |
| 90 | + |
| 91 | +When can I start? |
| 92 | +^^^^^^^^^^^^^^^^^ |
| 93 | +We also have some extra ground rules about making any specific contributions involving: |
66 | 94 |
|
67 |
| -- The discord-interactions library is based off of API gateway events. If you are |
68 |
| - looking for a library that is webserver-based, please consider: |
| 95 | +- We do not accept abstraction-based requests. (e.g. ``colour`` for ``color``) |
| 96 | +- A request has to be approved by at least one developer. |
| 97 | +- You must be willing to change/adhere to reviews from participants **where necessary.** |
69 | 98 |
|
70 |
| - - `dispike <https://github.com/ms7m/dispike>`__ |
71 |
| - - `discord-interactions-python |
72 |
| - <https://github.com/discord/discord-interactions-python>`__ |
| 99 | +I think I'm all ready! |
| 100 | +^^^^^^^^^^^^^^^^^^^^^^ |
| 101 | +Feel free to begin making `Pull Requests`_ and `Issues`_ on our GitHub! |
73 | 102 |
|
74 |
| -- If you are looking for a similar library for other languages, please refer to here: |
| 103 | +Advanced Search |
| 104 | +=============== |
75 | 105 |
|
76 |
| - - `Discord Developer Documentation |
77 |
| - <https://discord.com/developers/docs/topics/community-resources#interactions>`__ |
| 106 | +.. _quickstart guide: https://discord-interactions.rtfd.io/en/latest/quickstart.html |
| 107 | +.. _contribution requirements: https://github.com/goverfl0w/discord-interactions/blob/stable/CONTRIBUTING.md |
| 108 | +.. _MIT License: https://github.com/goverfl0w/discord-interactions/blob/stable/LICENSE |
| 109 | +.. _Pull Requests: https://github.com/goverfl0w/discord-interactions/pulls |
| 110 | +.. _Issues: https://github.com/goverfl0w/discord-interactions/issues |
0 commit comments