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
Python interface to the World Bank Indicators and Climate APIs

wbpy A Python interface to the World Bank Indicators and Climate APIs. Readthedocs Github source World Bank API docs The Indicators API lets you acces

Matt Duck 47 Oct 31, 2022
This is a translator that i made by myself in python with the 'googletrans' library

Translator-Python This is a translator that i made by myself in python with the 'googletrans' library This application completely made in python allow

Thadeuks 2 Jun 17, 2022
Django3 web app that renders OpenWeather API data ☁️☁️

nz-weather For a live build, visit - https://brandonru.pythonanywhere.com/ NZ Openweather API data rendered using Django3 and requests ☀️ Local Run In

Brandon Ru 1 Oct 17, 2021
HASOKI DDOS TOOL- powerful DDoS toolkit for penetration tests

DDoS Attack Panel includes CloudFlare Bypass (UAM, CAPTCHA, GS ,VS ,BFM, etc..) This is open source code. I am not responsible if you use it for malic

Rebyc 1 Dec 02, 2022
A discord bot consuming Notion API to add, retrieve data to Notion databases.

Notion-DiscordBot A discord bot consuming Notion API to add and retrieve data from Notion databases. Instructions to use the bot: Pre-Requisites: a)In

Servatom 57 Dec 29, 2022
Python API to interact with Uwazi

Python Uwazi API Quick Start To use the API install the requirements pip3 install -r requirements.txt and use it like this: uwazi_adapter = UwaziAdap

HURIDOCS 2 Dec 16, 2021
OpenSource bot for control groups ...

⭕️ کمک به افراد برای اداره هرچه فان تره گروه 📟 همه گروه های بزرگ نیاز به یه بات خفن دارن تا از گروه مراقبت کنه این بات کارش همینه سعی کرده فیچر خیلی

Mehran Alam Beigi 2 Nov 26, 2021
A simple bot which using an API , detects reported discord scams and kicks the user if possible while deleting the message

A simple bot which using an API , detects reported discord scams and kicks the user if possible while deleting the message

Vioshim 3 Nov 16, 2022
Say "good morning" on Discord, in batch, one-click.

🌞 gm Good Morning! Usage Simply copy the channel_list to gm.py and fill authorization_list with authorization token(s). Enjoy. Authorization Please r

e 3 Nov 18, 2022
A high level library for building Discord bots.

Qord A high level library for building Discord bots. 🚧 This library is currently in development. Questions that you are having What is this? This is

Izhar Ahmad 16 May 14, 2022
A Telegram bot to extracting text from images. All languages supported.

OCR Bot A Telegram bot to extracting text from images. All languages supported. Deploy to Heroku Local Deploying Clone the repo git clone https://gith

6 Oct 21, 2022
Checks instagram names to see if they're available

How to install You must have python 3.7.6 installed and make sure you click the 'ADD TO PATH' option when installing Open cmd and type pip install aio

2 Oct 20, 2021
Python script to scrape users/id/badges/creation-date from a Discord Server Memberlist

Discord Server Badges Scraper - Credits to bytixo he made this Custom Discord Vanity Creator How To Use Install discum 1.2 Open a terminal and execute

apolo 13 Dec 09, 2022
Chronocalc - Calculates the dates and times when the sun or moon is in a given position in the sky

Chronocalc I wrote this script after I was busy updating my article on chronoloc

16 Dec 13, 2022
A hilarious program that translates text to Google's

Bork, bork, bork! A hilarious program that translates text in a file to Google's "bork bork bork' language. How to use Download the main.py file. Chan

The Algorithmic 1 Dec 17, 2021
Decode the Ontario proof of vaccination QR code

Decode the contents of the Ontario Proof of Vaccination (the "Smart Health Card QR Code") Output This is from my QR code, hopefully fully redacted alt

Wesley Ellis 4 Oct 22, 2021
A simple Python library to integrate with the Heron Data API

Heron Python This library provides easy access to the Heron Data API from applications written in Python. Documentation No language-specific docs are

Heron Data 11 Nov 11, 2022
🤖 The bot that runs the official Fairfield Programming Association Discord server.

🤖 The bot that runs the official Fairfield Programming Association Discord server.

Fairfield Programming Association 1 Jan 07, 2022
Powerful Telegram userbot to turn your PROFILE PICTURE & LAST NAME into a real time clock & to change your BIO automatically.

DATE_TIME_USERBOT-TeLeTiPs Powerful Telegram userbot to turn your PROFILE PICTURE & LAST NAME into a real time clock & to change your BIO automaticall

53 Jan 05, 2023
ShadowClone allows you to distribute your long running tasks dynamically across thousands of serverless functions and gives you the results within seconds where it would have taken hours to complete

ShadowClone allows you to distribute your long running tasks dynamically across thousands of serverless functions and gives you the results within seconds where it would have taken hours to complete

240 Jan 06, 2023