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
yobot插件,Steam雷达,可自动播报玩家的Steam游戏状态和DOTA2图文战报

Steam_watcher 这是 prcbot/yobot 的自定义插件,可自动播报玩家的Steam游戏状态和DOTA2图文战报 都有些什么功能? 本插件可以在用户绑定后自动推送Steam游戏状态的更新和 Dota2 图文战报,以及提供一些手动查询功能 指令列表 atbot 表示需要@BOT ats

羽波 21 Jun 21, 2022
An Advance Discord Generator Written in python Verified Email and Phone Number For Free!

Intro An Advance Discord Generator Written in python It can generate nearly fully verified tokens USAGE put server invite code inside ( invitecode = "

36 May 02, 2022
An information scroller Twitter trends, news, weather for raspberry pi and Pimoroni Unicorn Hat Mini and Scroll Phat HD.

uticker An information scroller Twitter trends, news, weather for raspberry pi and Pimoroni Unicorn Hat Mini and Scroll Phat HD. Features include: Twi

Tansu Şenyurt 1 Nov 28, 2021
Discord Bot Sending Members - Leaked by BambiKu ( Me )

Wokify Bot Discord Bot Sending Members - Leaked by BambiKu ( Me ) Info The Bot was orginaly made by someone else! Ghost-Dev just wanted to sell "priva

bambiku 6 Jul 05, 2022
A simple python discord bot with commands for moderation and utility.

Discord Bot A simple python discord bot with commands for moderation, utility and fun. Moderation $kick user reason - Kick a user from the server

syn 3 Feb 06, 2022
Popcorn-time-api - Python API for interacting with the Popcorn Time Servers

Popcorn Time API 📝 CONTRIBUTIONS Before doing any contribution read CONTRIBUTIN

Antonio 3 Oct 31, 2022
A small discord bot to interface with python-discord's snekbox.

A small discord bot to interface with python-discord's snekbox.

Hassan Abouelela 0 Oct 05, 2021
A Code that can make your Discord Account 24/7!

Online-Forever Make your Discord Account Online 24/7! A Code written in Python that helps you to keep your account 24/7. The main.py is the main file.

Phantom 556 Dec 29, 2022
Buscar y descargar canciones de YouTube automáticamente desde la web

🎶 DescargarCanciones 🎶 Buscar y descargar canciones o playlist de Spotify o YouTube automáticamente con todos los metadatos de la canciones en forma

1 Dec 20, 2021
This repo contains a small project i've done using PILLOW module in python

This repo contains a small project i've done using PILLOW module in python. I wrote an automated script which generates more than 5k+ unique nfts with 0 hassle in less time.

SasiVatsal 11 Nov 05, 2022
Discord bot that automatically fills out health screenings

Auto Covid Bot Automatically fill out the NYC DOE health screening form by registering with a discord bot School code can be found on https://schoolse

Cleo 2 Jul 29, 2022
Collection of AWS Fault Injection Simulator (FIS) experiment templates.

Collection of AWS Fault Injection Simulator (FIS) experiment templates. These templates let you perform chaos engineering experiments on resources (applications, network, and infrastructure) in the A

Adrian Hornsby 8 Nov 27, 2022
AWS Workmail Migration Tool

WMigrate A tool for migrating AWS Workmail Users and Groups cross region and cross accounts. It also creates user and group aliases and adds the users

NK 1 Oct 27, 2021
Uses discords api to see if a token has a valid payment method.

Discord Payment Checker Uses discords api to see if a token has a valid payment method. Report Bug · Request Feature Features Checks tokens Checks all

dropout 10 Dec 01, 2022
Some examples regarding how to use the Twitter APIs for academic research

Twitter Developer Platform: Using Twitter APIs for Academic Research All the scripts require a config.ini file in which the keys are put. There is a t

Federico Bianchi 6 Feb 13, 2022
Scrapes an instagram user's photos and videos

Instagram Scraper instagram-scraper is a command-line application written in Python that scrapes and downloads an instagram user's photos and videos.

7.3k Nov 18, 2022
Pancakeswap Sniper BOT - TORNADO CASH Proxy (MAC WINDOWS ANDROID LINUX) A fully decentralized protocol for private transactions

TORNADO CASH Proxy Pancakeswap Sniper BOT 2022-V1 (MAC WINDOWS ANDROID LINUX) ⭐️ A fully decentralized protocol for private transactions ⭐️ AUTO DOWNL

Crypto Trader 1 Jan 05, 2022
Discord-Bot - Bot using nextcord for beginners

Discord-Bot Bot using nextcord for beginners! Requirements: 1 :- Install nextcord by typing "pip install nextcord" Thats it! You can use this code any

INFINITE_. 3 Jan 10, 2022
Python Tool To Get The Date That Your Account Joined Instagram

Date-Joined-Insta Python Tool To Get The Date That Your Account Joined Instagram You Dont Need To Login Just Enter The UserName If Id Did Not Work Ins

A B D U L L A H . 1 Dec 21, 2021
An open source raffle bot made to increase the chance of winning limited sneaker raffles by automating entries.

🚀 SyneziaRaffles An open source raffle bot made to increase the chance of winning limited sneaker raffles by automating entries. 🏄‍♂️ Quick Start Pr

Alexis M. 29 Dec 22, 2022