A modern,feature-rich, and async ready API wrapper for Discord written in Python

Overview

discord.io

Discord server invite PyPI version info PyPI supported Python versions

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 discord.io

# Windows
py -3 -m pip install -U discord.io

Otherwise to get voice support you should run the following command:

# Linux/macOS
python3 -m pip install -U "discord.io[voice]"

# Windows
py -3 -m pip install -U discord.io[voice]

To install the development version, do the following:

$ git clone https://github.com/VincentRPS/discord.io
$ cd discord.py
$ python3 -m pip install -U .[voice]

Optional Packages

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.6-dev for Python 3.6)

Quick Example

import discord

class MyClient(discord.Client):
    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 discord
from discord.ext import commands

bot = commands.Bot(command_prefix='>')

@bot.command()
async def ping(ctx):
    await ctx.send('pong')

bot.run('token')

You can find more examples in the examples directory.

Links

Comments
  • fix: Python version

    fix: Python version

    Summary

    In flags, exit_on_error is used which was introduced in python 3.9 and in examples u have used | for typing.Union which was introduced in 3.10. This breaks backward compatibility

    Checklist

    • [ ] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [x] This is not a code change
    • [ ] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    opened by Tari-dev 2
  • refractor: `typing` and `__all__`

    refractor: `typing` and `__all__`

    Summary

    For __all__ you dont have to specific if it is a List. Btw using a tuple for __all__ is more suggested but it still works.

    Checklist

    • [ ] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [x] This is not a code change
    • [ ] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    opened by Hype3808 2
  • Configure Renovate

    Configure Renovate

    WhiteSource Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • .github/workflows/cov.yml (github-actions)
    • dev-requirements.txt (pip_requirements)
    • requirements.txt (pip_requirements)
    • speed-requirements.txt (pip_requirements)
    • setup.py (pip_setup)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation
    • If semantic commits detected, use semantic commit type fix for dependencies and chore for all others
    • Ignore node_modules, bower_components, vendor and various test/tests directories
    • Autodetect whether to pin dependencies or maintain ranges
    • Rate limit PR creation to a maximum of two per hour
    • Limit to maximum 10 open PRs at any time
    • Group known monorepo packages together
    • Use curated list of recommended non-monorepo package groupings
    • Fix some problems with very old Maven commons versions
    • Ignore spring cloud 1.x releases
    • Ignore web3j 5.0.0 release
    • Ignore http4s digest-based 1.x milestones
    • Use node versioning for @types/node
    • Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133

    πŸ”‘ Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 1 Pull Request:

    chore(deps): pin dependencies

    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 2
  • feat: rewrite the gateway

    feat: rewrite the gateway

    Summary

    rewrites the gateway

    Checklist

    • [x] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [ ] This is not a code change
    • [x] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    Large 
    opened by VincentRPS 2
  • i suppose i do need to update my cogs shit and make sure it all works

    i suppose i do need to update my cogs shit and make sure it all works

    Summary

    Checklist

    • [ ] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [ ] This is not a code change
    • [ ] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    opened by AmashiM 1
  • chore(deps-dev): update pytest requirement from ~=6.2.5 to ~=7.0.0

    chore(deps-dev): update pytest requirement from ~=6.2.5 to ~=7.0.0

    Updates the requirements on pytest to permit the latest version.

    Release notes

    Sourced from pytest's releases.

    7.0.0

    pytest 7.0.0 (2022-02-03)

    (Please see the full set of changes for this release also in the 7.0.0rc1 notes below)

    Deprecations

    • #9488: If custom subclasses of nodes like pytest.Item{.interpreted-text role="class"} override the __init__ method, they should take **kwargs. See uncooperative-constructors-deprecated{.interpreted-text role="ref"} for details.

      Note that a deprection warning is only emitted when there is a conflict in the arguments pytest expected to pass. This deprecation was already part of pytest 7.0.0rc1 but wasn't documented.

    Bug Fixes

    • #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
    • #9396: Ensure pytest.Config.inifile{.interpreted-text role="attr"} is available during the pytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>{.interpreted-text role="func"} hook (regression during 7.0.0rc1).

    Improved Documentation

    • #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
    • #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions that configuration file is located in the root of the repository.

    Trivial/Internal Changes

    • #9521: Add test coverage to assertion rewrite path.

    pytest 7.0.0rc1 (2021-12-06)

    Breaking Changes

    • #7259: The Node.reportinfo() <non-python tests>{.interpreted-text role="ref"} function first return value type has been expanded from [py.path.local | str]{.title-ref} to [os.PathLike[str] | str]{.title-ref}.

      Most plugins which refer to [reportinfo()]{.title-ref} only define it as part of a custom pytest.Item{.interpreted-text role="class"} implementation. Since [py.path.local]{.title-ref} is a [os.PathLike[str]]{.title-ref}, these plugins are unaffacted.

      Plugins and users which call [reportinfo()]{.title-ref}, use the first return value and interact with it as a [py.path.local]{.title-ref}, would need to adjust by calling [py.path.local(fspath)]{.title-ref}. Although preferably, avoid the legacy [py.path.local]{.title-ref} and use [pathlib.Path]{.title-ref}, or use [item.location]{.title-ref} or [item.path]{.title-ref}, instead.

      Note: pytest was not able to provide a deprecation period for this change.

    ... (truncated)

    Commits
    • 3554b83 Add note to changelog
    • 6ea7f99 Prepare release version 7.0.0
    • 737b220 [7.0.x] releasing: Add template for major releases (#9597)
    • 7fa3972 [7.0.x] releasing: Always set doc_version (#9590)
    • b304499 [7.0.x] Make 'warnings' and 'deselected' in assert_outcomes optional (#9566)
    • f17525d [7.0.x] doc: Add ellipsis to warning usecase list (#9562)
    • 0a7be97 ci: Bump up timeout (#9565)
    • c17908c [7.0.x] doc: Recategorize 7.0.0 changelog items (#9564)
    • ab549bb [7.0.x] Add missing cooperative constructor changelog (#9563)
    • 4b1707f [7.0.x] Autouse linearization graph (#9557)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps-dev): update coverage requirement from ~=6.2 to ~=6.3

    chore(deps-dev): update coverage requirement from ~=6.2 to ~=6.3

    Updates the requirements on coverage to permit the latest version.

    Changelog

    Sourced from coverage's changelog.

    Version 6.3 β€” 2022-01-25

    • Feature: Added the lcov command to generate reports in LCOV format. Thanks, Bradley Burns <pull 1289_>. Closes issues 587 <issue 587_> and 626 <issue 626_>_.

    • Feature: the coverage data file can now be specified on the command line with the --data-file option in any command that reads or writes data. This is in addition to the existing COVERAGE_FILE environment variable. Closes issue 624. Thanks, Nikita Bloshchanevich <pull 1304_>.

    • Feature: coverage measurement data will now be written when a SIGTERM signal is received by the process. This includes :meth:Process.terminate <python:multiprocessing.Process.terminate>, and other ways to terminate a process. Currently this is only on Linux and Mac; Windows is not supported. Fixes issue 1307_.

    • Dropped support for Python 3.6, which reached end-of-life on 2021-12-23.

    • Updated Python 3.11 support to 3.11.0a4, fixing issue 1294_.

    • Fix: the coverage data file is now created in a more robust way, to avoid problems when multiple processes are trying to write data at once. Fixes issues 1303 <issue 1303_>_ and 883 <issue 883_>_.

    • Fix: a .gitignore file will only be written into the HTML report output directory if the directory is empty. This should prevent certain unfortunate accidents of writing the file where it is not wanted.

    • Releases now have MacOS arm64 wheels for Apple Silicon, fixing issue 1288_.

    .. _issue 587: nedbat/coveragepy#587 .. _issue 624: nedbat/coveragepy#624 .. _issue 626: nedbat/coveragepy#626 .. _issue 883: nedbat/coveragepy#883 .. _issue 1288: nedbat/coveragepy#1288 .. _issue 1294: nedbat/coveragepy#1294 .. _issue 1303: nedbat/coveragepy#1303 .. _issue 1307: nedbat/coveragepy#1307 .. _pull 1289: nedbat/coveragepy#1289 .. _pull 1304: nedbat/coveragepy#1304

    .. _changes_62:

    Version 6.2 β€” 2021-11-26

    • Feature: Now the --concurrency setting can now have a list of values, so

    ... (truncated)

    Commits
    • 7d9d300 build: 'pypy' is pypy-3.6, which we don't support anymore
    • 97d78e6 build: prepping for 6.3
    • fb3f632 docs: latest sample HTML report
    • 2e65e19 docs: make it easier to add command-line options correctly
    • bf8cbe1 fix: more cleanup of --data-file options
    • f9a5451 docs: touch up the changelog
    • 2ff2439 style: uniform formatting of cmdline options
    • 1a75ebb refactor: adjust some of the --data-file option handling
    • ba884e4 feat: use --data-file to configure the coverage database
    • cfe14c2 build: stop deleting 3.9 muslinux wheels, because they are ok now. #1268
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies No Changes 
    opened by dependabot[bot] 1
  • refactor: redo ratelimiting

    refactor: redo ratelimiting

    Summary

    While RPD is nowhere close to being on discord community resources, preparing would be good at best. This PR implements proper ratelimit handling, unlike the previous one, note I have not tested the fix yet, but I am pretty sure that is what made it not work.

    Checklist

    • [x] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [ ] This is not a code change
    • [x] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    enhancement Large 
    opened by VincentRPS 1
  • chore(deps-dev): update sphinx requirement from ~=4.3.2 to ~=4.4.0

    chore(deps-dev): update sphinx requirement from ~=4.3.2 to ~=4.4.0

    Updates the requirements on sphinx to permit the latest version.

    Release notes

    Sourced from sphinx's releases.

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    Changelog

    Sourced from sphinx's changelog.

    Release 4.4.0 (released Jan 17, 2022)

    Dependencies

    • #10007: Use importlib_metadata for python-3.9 or older
    • #10007: Drop setuptools

    Features added

    • #9075: autodoc: Add a config variable :confval:autodoc_typehints_format to suppress the leading module names of typehints of function signatures (ex. io.StringIO -> StringIO)
    • #9831: Autosummary now documents only the members specified in a module's __all__ attribute if :confval:autosummary_ignore_module_all is set to False. The default behaviour is unchanged. Autogen also now supports this behavior with the --respect-module-all switch.
    • #9555: autosummary: Improve error messages on failure to load target object
    • #9800: extlinks: Emit warning if a hardcoded link is replaceable by an extlink, suggesting a replacement.
    • #9961: html: Support nested HTML elements in other HTML builders
    • #10013: html: Allow to change the loading method of JS via loading_method parameter for :meth:Sphinx.add_js_file()
    • #9551: html search: "Hide Search Matches" link removes "highlight" parameter from URL
    • #9815: html theme: Wrap sidebar components in div to allow customizing their layout via CSS
    • #9827: i18n: Sort items in glossary by translated terms
    • #9899: py domain: Allows to specify cross-reference specifier (. and ~) as :type: option
    • #9894: linkcheck: add option linkcheck_exclude_documents to disable link checking in matched documents.
    • #9793: sphinx-build: Allow to use the parallel build feature in macOS on macOS and Python3.8+
    • #10055: sphinx-build: Create directories when -w option given
    • #9993: std domain: Allow to refer an inline target (ex. ``_target name```) via :rst:role:ref` role
    • #9981: std domain: Strip value part of the option directive from general index
    • #9391: texinfo: improve variable in samp role
    • #9578: texinfo: Add :confval:texinfo_cross_references to disable cross references for readability with standalone readers
    • #9822 (and #9062), add new Intersphinx role :rst:role:external for explict lookup in the external projects, without resolving to the local project.

    Bugs fixed

    • #9866: autodoc: doccomment for the imported class was ignored

    ... (truncated)

    Commits
    • 88f9647 Bump to 4.4.0 final
    • fc428ad Merge pull request #9822 from jakobandersen/intersphinx_role
    • 5d595ec intersphinx role, simplify role_name check
    • 6ee0ecb intersphinx role, simplify role name matching
    • 3bf8bcd intersphinx role, update docs
    • c11b109 intersphinx role: :external+inv:: instead of :external:inv+:
    • 9589a2b intersphinx role, remove redundant method
    • 941db55 intersphinx role, fix flake8 warnings
    • 9a3f2b8 intersphinx role, CHANGES
    • 540d760 intersphinx role, documentation
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies No Changes 
    opened by dependabot[bot] 1
  • feat/refactor: Webhook support & restructuring

    feat/refactor: Webhook support & restructuring

    Summary

    next commit should fully step the library from asyncio and aiohttp to gevent and requests, but this tips the toes

    Checklist

    • [x] This PR has breaking changes
    • [ ] This PR fixes an issue
    • [ ] This is not a code change
    • [x] If code changes were made they have been tested
    • [ ] I have properly changed the docs to appeal to this change
    Large 
    opened by VincentRPS 1
  • chore(deps-dev): update mypy requirement from ~=0.930 to ~=0.931

    chore(deps-dev): update mypy requirement from ~=0.930 to ~=0.931

    Updates the requirements on mypy to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies No Changes 
    opened by dependabot[bot] 1
Releases(1.0.0)
  • 1.0.0(Feb 25, 2022)

    What's Changed

    • chore(deps-dev): update pytest requirement from ~=7.0.0 to ~=7.0.1 by @dependabot in https://github.com/VincentRPS/discord.io/pull/45
    • Changed all aio back to discord.io by @kekda-py in https://github.com/VincentRPS/discord.io/pull/46
    • chore(deps-dev): update sphinx-hoverxref requirement from ~=1.0.0 to ~=1.0.1 by @dependabot in https://github.com/VincentRPS/discord.io/pull/47
    • removed the intents import by @kekda-py in https://github.com/VincentRPS/discord.io/pull/48
    • Change typing.Dict to Dict by @Hype3808 in https://github.com/VincentRPS/discord.io/pull/50
    • fix: typing issues by @27Saumya in https://github.com/VincentRPS/discord.io/pull/51
    • feat: guild property in TextChannel by @27Saumya in https://github.com/VincentRPS/discord.io/pull/52
    • chore(deps-dev): update furo requirement from ~=2022.1.2 to ~=2022.2.14 by @dependabot in https://github.com/VincentRPS/discord.io/pull/54
    • refractor: typing and __all__ by @Hype3808 in https://github.com/VincentRPS/discord.io/pull/53
    • Command Flags + Bugs + repr in guild and user by @AmashiSenpai in https://github.com/VincentRPS/discord.io/pull/55
    • Use is instead of == by @Tari-dev in https://github.com/VincentRPS/discord.io/pull/56
    • color + bugs by @AmashiSenpai in https://github.com/VincentRPS/discord.io/pull/57

    New Contributors

    • @27Saumya made their first contribution in https://github.com/VincentRPS/discord.io/pull/51
    • @AmashiSenpai made their first contribution in https://github.com/VincentRPS/discord.io/pull/55
    • @Tari-dev made their first contribution in https://github.com/VincentRPS/discord.io/pull/56

    Full Changelog: https://github.com/VincentRPS/discord.io/compare/0.8.2...1.0.0

    Source code(tar.gz)
    Source code(zip)
  • 0.8.2(Feb 12, 2022)

    What's Changed

    • chore(deps-dev): update pytest-asyncio requirement from ~=0.18.0 to ~=0.18.1 by @dependabot in https://github.com/VincentRPS/discord.io/pull/41
    • Removed the type hint by @kekda-py in https://github.com/VincentRPS/discord.io/pull/42

    New Contributors

    • @kekda-py made their first contribution in https://github.com/VincentRPS/discord.io/pull/42

    Full Changelog: https://github.com/VincentRPS/discord.io/compare/0.8.0...0.8.2

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Feb 10, 2022)

    What's Changed

    • chore(deps-dev): update pytest-asyncio requirement from ~=0.17.2 to ~=0.18.0 by @dependabot in https://github.com/VincentRPS/discord.io/pull/39

    Full Changelog: https://github.com/VincentRPS/discord.io/compare/0.7.0...0.8.0

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Feb 5, 2022)

    What's Changed

    • chore(deps-dev): update pytest requirement from ~=6.2.5 to ~=7.0.0 by @dependabot in https://github.com/VincentRPS/discord.io/pull/36

    Full Changelog: https://github.com/VincentRPS/discord.io/compare/0.6.0...0.7.0

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Feb 1, 2022)

  • 0.5.0(Jan 30, 2022)

    What's Changed

    • chore(deps-dev): update coverage requirement from ~=6.2 to ~=6.3 by @dependabot in https://github.com/RPD-py/RPD/pull/31

    Full Changelog: https://github.com/RPD-py/RPD/compare/0.4.1...0.5.0

    Source code(tar.gz)
    Source code(zip)
  • 0.4.1(Jan 26, 2022)

  • 0.4.0(Jan 25, 2022)

    What's Changed

    • chore(deps-dev): update sphinx requirement from ~=4.3.2 to ~=4.4.0 by @dependabot in https://github.com/RPD-py/RPD/pull/26
    • refactor: redo ratelimiting by @VincentRPS in https://github.com/RPD-py/RPD/pull/27
    • feat: rewrite the gateway by @VincentRPS in https://github.com/RPD-py/RPD/pull/28

    Full Changelog: https://github.com/RPD-py/RPD/compare/0.3.0...0.4.0

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Jan 16, 2022)

    What's Changed

    • CI: Dependabot Config by @VincentRPS in https://github.com/RPD-py/RPD/pull/1
    • dev: Style Guide by @VincentRPS in https://github.com/RPD-py/RPD/pull/3
    • Make it looks better by @Hype3808 in https://github.com/RPD-py/RPD/pull/4
    • Sourcery refactored master branch by @sourcery-ai in https://github.com/RPD-py/RPD/pull/7
    • Rename __init.py to init.py by @Hype3808 in https://github.com/RPD-py/RPD/pull/8
    • Add __all__ by @Hype3808 in https://github.com/RPD-py/RPD/pull/9
    • fix: typo factorys to factories by @VincentRPS in https://github.com/RPD-py/RPD/pull/11
    • Pull Request Template by @VincentRPS in https://github.com/RPD-py/RPD/pull/13
    • Finish Docs by @VincentRPS in https://github.com/RPD-py/RPD/pull/12
    • chore(deps): update aiodns requirement from ~=1.1 to ~=3.0 by @dependabot in https://github.com/RPD-py/RPD/pull/18
    • chore(deps-dev): update furo requirement from ~=2021.11.23 to ~=2022.1.2 by @dependabot in https://github.com/RPD-py/RPD/pull/17
    • feat: gateway by @VincentRPS in https://github.com/RPD-py/RPD/pull/16
    • fix: using rolling release numbers instead by @VincentRPS in https://github.com/RPD-py/RPD/pull/20
    • fix: raising is not returning by @ooliver1 in https://github.com/RPD-py/RPD/pull/22
    • chore(deps-dev): update mypy requirement from ~=0.930 to ~=0.931 by @dependabot in https://github.com/RPD-py/RPD/pull/23
    • feat/refactor: Webhook support & restructuring by @VincentRPS in https://github.com/RPD-py/RPD/pull/24

    New Contributors

    • @VincentRPS made their first contribution in https://github.com/RPD-py/RPD/pull/1
    • @Hype3808 made their first contribution in https://github.com/RPD-py/RPD/pull/4
    • @dependabot made their first contribution in https://github.com/RPD-py/RPD/pull/18
    • @ooliver1 made their first contribution in https://github.com/RPD-py/RPD/pull/22

    Full Changelog: https://github.com/RPD-py/RPD/compare/v0.2.0...0.3.0

    Source code(tar.gz)
    Source code(zip)
Owner
Vincent
Gamer, Game Dev @godotengine, Bot Dev @Discord, And Am Learning Most Big Languages Like @Golang And @Python, Also JS And TS
Vincent
A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

disfork A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async a

null 2 Feb 9, 2022
A modern, easy to use, feature-rich, and async ready API wrapper improved and revived from original discord.py.

A Python API wrapper that is improved and revived from the original discord.py

Orion 19 Nov 6, 2021
Async ready API wrapper for Revolt API written in Python.

Mutiny Async ready API wrapper for Revolt API written in Python. Installation Python 3.9 or higher is required To install the library, you can just ru

null 16 Mar 29, 2022
An async-ready Python wrapper around FerrisChat's API.

FerrisWheel An async-ready Python wrapper around FerrisChat's API. Installation Instructions Linux: $ python3.9 -m pip install -U ferriswheel Python 3

FerrisChat 8 Feb 8, 2022
πŸš€ An asynchronous python API wrapper meant to replace discord.py - Snappy discord api wrapper written with aiohttp & websockets

Pincer An asynchronous python API wrapper meant to replace discord.py ❗ The package is currently within the planning phase ?? Links |Join the discord

Pincer 125 Dec 26, 2022
Low-level, feature rich and easy to use discord python wrapper

PWRCord Low-level, feature rich and easy to use discord python wrapper Important Note: At this point, this library API is considered unstable and can

MIguel Lopes 1 Dec 26, 2021
A Discord Rich Presence App to set your own custom rich presence.

discord-rich-presence A Discord Rich Presence App to set your own custom rich presence. #BUILDS Ready to use package are available inside "finalpackag

null 1 Nov 22, 2021
YARSAW is an Async Python API Wrapper for the Random Stuff API.

Yet Another Random Stuff API Wrapper - YARSAW YARSAW is an Async Python API Wrapper for the Random Stuff API. This module makes it simpler for you to

Bruce 6 Mar 27, 2022
Mixcloud API wrapper for Python and Async IO

aiomixcloud Mixcloud API wrapper for Python and Async IO aiomixcloud is a wrapper library for the HTTP API of Mixcloud. It supports asynchronous opera

Aristotelis Mikropoulos 26 Dec 31, 2022
An async python wrapper to interact with the Steam API and its CMs

steam.py A modern, easy to use, and async ready package to interact with the Steam API. Heavily inspired by discord.py and borrowing functionality fro

James Hilton-Balfe 90 Dec 15, 2022
Discord-Wrapper - Discord Websocket Wrapper in python

This does not currently work and is in development Discord Websocket Wrapper in

null 3 Oct 25, 2022
The modern Lavalink wrapper designed for discord.py

Pomice The modern Lavalink wrapper designed for discord.py This library is heavily based off of/uses code from the following libraries: Wavelink Slate

Gstone 1 Feb 2, 2022
This is a simple unofficial async Api-wrapper for tio.run

Async-Tio This is a simple unofficial async Api-wrapper for tio.run

Tom-the-Bomb 7 Oct 28, 2022
Acc-discord-rpc - Assetto Corsa Competizione Discord Rich Presence Client

A simple Assetto Corsa Competizione Rich Presence client. This app only works in

null 6 Dec 18, 2022
A Anything goes Discord bot written in python and uses the wrapper Discord.py

GerardTheWizard A Anything goes Discord bot written in python and uses the wrapper Discord.py What can he do? Allow users to level up through typing,

null 1 May 5, 2022
β˜„οΈ High performance, easy to use and feature-rich Solana SDK for Python.

Solathon is an high performance, easy to use and feature-rich Solana SDK for Python. Easy for beginners, powerful for real world applications.

Bolt 28 Oct 10, 2022
ro.py is a modern, asynchronous Python 3 wrapper for the Roblox API.

GitHub | Discord | PyPI | Documentation | Examples | License Overview Welcome to ro.py! ro.py is an asynchronous, object-oriented wrapper for the Robl

ro.py 81 Dec 26, 2022
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
RichWatch is wrapper around AWS Cloud Watch to display beautiful logs with help of Python library Rich.

RichWatch is TUI (Textual User Interface) for AWS Cloud Watch. It formats and pretty prints Cloud Watch's logs so they are much more readable. Because

null 21 Jul 25, 2022