An API wrapper for Discord written in Python.

Overview

Disnake Banner

disnake

Discord server invite PyPI version info PyPI supported Python versions Commit activity

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

About disnake

All the contributors and developers, associated with disnake, are trying their best to add new features to the library as soon as possible. We strive to revive the greatest Python wrapper for Discord API and keep it up to date.

Key Features

  • Modern Pythonic API using async and await.
  • Added features for ease of coding
  • 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 disnake

# Windows
py -3 -m pip install -U disnake

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

# Linux/macOS
python3 -m pip install -U "disnake[voice]"

# Windows
py -3 -m pip install -U disnake[voice]

To install the development version, do the following:

$ git clone https://github.com/DisnakeDev/disnake
$ cd disnake
$ 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 disnake

class MyClient(disnake.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 disnake
from disnake.ext import commands

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

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

bot.run('token')

Slash Commands Example

import disnake
from disnake.ext import commands

bot = commands.Bot(command_prefix='>', test_guilds=[12345])

@bot.slash_command()
async def ping(inter):
    await inter.response.send_message('pong')

bot.run('token')

Context Menus Example

import disnake
from disnake.ext import commands

bot = commands.Bot(command_prefix='>', test_guilds=[12345])

@bot.user_command()
async def avatar(inter):
    embed = disnake.Embed(title=str(inter.target))
    embed.set_image(url=inter.target.avatar.url)
    await inter.response.send_message(embed=embed)

bot.run('token')

You can find more examples in the examples directory.

Links

Comments
  • cogs

    cogs

    Summary

    The slash commands in cogs dont work. It used to work fine

    Reproduction Steps

    just loading the cogs

    Minimal Reproducible Code

    No response

    Expected Results

    shows the slash commands in the (test_guilds)

    Actual Results

    The commands work fine but slash commands dont even show up in the specific guild (test_guilds)

    Intents

    members

    System Information

    - Python v3.10.2-final
    - disnake v2.5.1-final
        - disnake pkg_resources: v2.5.1
    - aiohttp v3.7.4.post0
    - system info: Windows 10 10.0.19044
    

    Checklist

    • [X] I have searched the open issues for duplicates.
    • [X] I have shown the entire traceback, if possible.
    • [X] I have removed my token from display, if visible.

    Additional Context

    No response

    unconfirmed bug 
    opened by Saadelamali 18
  • New colour (invisible)

    New colour (invisible)

    Summary

    Adds a new colour (invisible) to disnake.Colour which blends in with the embed's colour

    Checklist

    • [ x] If code changes were made then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [ ] I have formatted the code properly by running black .
    • [ ] This PR fixes an issue
    • [x ] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement 
    opened by Kraots 16
  • feat(client)!: Make kwargs for 'public api' Client classes explicit, disallow superfluous kwargs

    feat(client)!: Make kwargs for 'public api' Client classes explicit, disallow superfluous kwargs

    Summary

    This PR aims to improve two things. Firstly, passing 'incorrect'/unused kwargs to Client or any of its subclasses will now error. For example,

    bot = commands.Bot("!", sync_command_debug=True)
    

    would run fine in the current version of disnake but do nothing, as the actual kwarg is sync_commands_debug. With the changes in this PR, this would raise an error instead.

    Furthermore, disnake.Client, disnake.AutoShardedClient, disnake.Bot, dinake.AutoShardedBot, disnake.InteractionBot and disnake.AutoShardedInteractionBot now all have their __init__s set in such a way that all possible kwargs display (unless I missed any, though I don't believe I did).

    Checklist

    • [x] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint or pre-commit run --all-files
    • [x] This PR fixes an issue
    • [ ] This PR adds something new (e.g. new method or parameters)
    • [x] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement breaking change 
    opened by Chromosomologist 15
  • button / select decorator support for Button & Select subclasses

    button / select decorator support for Button & Select subclasses

    Summary

    This PR adds support to button & select decorators for custom Button & Select subclasses

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint or pre-commit run --all-files
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement p: medium 
    opened by Enegg 14
  • feat: pass deserialization exceptions in gateway event handler to loop exception handler

    feat: pass deserialization exceptions in gateway event handler to loop exception handler

    Summary

    Changes DiscordWebSocket.received_message to pass payload deserialization exceptions to the running loop's exception handler instead of letting them propagate up and crash the shard/bot.

    This prevents bots from just outright crashing if an event couldn't be parsed; Ideally, deserializing the payloads should always work, but history has shown that unannounced API changes unfortunately happen from time to time (even if accidental, like text-in-voice in December :^) ), and the library can't always perfectly account for that.

    note that this is really more of a proposal, feel free to suggest alternative implementations or ideas

    Checklist

    • [x] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [x] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement breaking change 
    opened by shiftinv 13
  • docs: clarify `disnake.Embed` re-using `disnake.File` objects when editing messages

    docs: clarify `disnake.Embed` re-using `disnake.File` objects when editing messages

    Summary

    • Closes GH-748

    Checklist

    • [ ] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [ ] I have formatted the code properly by running task lint
      • [ ] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [ ] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [x] This PR is not a code change (e.g. documentation, README, ...)
    t: documentation 
    opened by Snipy7374 10
  • docs: split changelog to current and legacy versions

    docs: split changelog to current and legacy versions

    Summary

    Unlinks the v1.0 migration page from the main index (keeping the only reference in the changelog), and moves the 0.x/1.x changelogs to a separate page.

    Checklist

    • [ ] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [ ] I have formatted the code properly by running task lint
      • [ ] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [ ] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [x] This PR is not a code change (e.g. documentation, README, ...)
    t: documentation p: low 
    opened by shiftinv 10
  • feat: implement `clean_history_duration` parameter for bans

    feat: implement `clean_history_duration` parameter for bans

    Summary

    Implements delete_message_seconds through a new clean_history_duration parameter, while keeping backward compatibility with delete_message_days.

    ~~It doesn't seem like deleting a few minutes' worth of messages works as expected, which could indicate that the lower bound isn't actually 0. Might be a bug though, see the referenced api-docs issue.~~

    Resolves #657.

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement t: api support 
    opened by shiftinv 10
  • feat: auto moderation

    feat: auto moderation

    Summary

    Implements routes/objects/events related to the new auto moderation feature. Still a bunch of TODOs, particularly regarding naming (would love some input on that).

    ref: https://github.com/discord/discord-api-docs/pull/4860

    Full list of changes:

    • updated AuditLogEntry and AuditLogDiff
    • added new AuditLogAction enum values
    • new types: auto_moderation.AutoModAction, .AutoModTriggerMetadata, .AutoModRule, .AutoModActionExecution
    • new types: enums.AutoModTriggerType, .AutoModEventType, .AutoModActionType
    • new type: flags.AutoModKeywordPresets (including new flags.ListBaseFlags)
    • two new intents (+ one alias for both)
    • new methods: Guild.fetch_automod_rule, Guild.fetch_automod_rules, .create_automod_rule
    • gateway events: on_auto_moderation_rule_create, on_auto_moderation_rule_update, on_auto_moderation_rule_delete, on_auto_moderation_action_execution
    • guild feature: AUTO_MODERATION
    • ~~probably new bugs~~
    • documentation for everything

    blocked by

    • #532
    • #540, currently included through https://github.com/DisnakeDev/disnake/pull/530/commits/db5e3d77dd354ad15ff0a29892b51cf751a7c3bb

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement t: api support p: high 
    opened by shiftinv 10
  • Add attachment descriptions

    Add attachment descriptions

    Summary

    This implements attachment descriptions; they are already available, but gated behind an experiment in clients (2021-09_inline_attachment_uploads).

    There is a change in the attachment handling, which would've generally resulted in previous attachments not being kept by default on edit anymore, if new files are also being uploaded. This would affect types that don't contain information about existing attachments, i.e. all types except Message and InteractionMessage. To fix this, the original message will be fetched for those types and existing attachments will carry over from that, if new files are being added and the developer didn't explicitly provide the attachments kwarg.

    Providing existing and new attachments in the attachments list like this when new files are being uploaded will be required for API v10 at the latest. API v8 itself doesn't require it yet, however it is already needed when using attachment descriptions.

    TODO

    • ~~[ ] Check if attachment:// filenames in embeds keep working as intended~~

    Checklist

    • [x] If code changes were made then they have been tested.
      • [x] I have updated the documentation to reflect the changes.
    • [ ] This PR fixes an issue.
    • [x] This PR adds something new (e.g. new method or parameters).
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement 
    opened by shiftinv 10
  • fix(misc): ignore `lib/` created by virtualenv

    fix(misc): ignore `lib/` created by virtualenv

    Summary

    virtualenv creates lib/ folder, which is not ignored by Git yet it's not included in MANIFEST.in, making check-manifest complain. This PR updates .gitignore to ignore lib/ folder, too.

    Checklist

    • [x] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [ ] I have formatted the code properly by running task lint
      • [ ] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [ ] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: meta skip news 
    opened by ItsAleph 9
  • adds support for events enums

    adds support for events enums

    Summary

    • Closes GH-895

    Any suggestion or help is appreciated about events enums groups and for the wording in the changelog entry.


    Note:

    • I still need to document the new enumerations on api.rst, though i was thinking that we could maybe automate something to use the already existing docstrings

    Checklist

    • [x] If code changes were made, then they have been tested
      • [ ] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement s: in progress s: needs review t: refactor/typing/lint 
    opened by Snipy7374 0
  • Add feature: new property `snowflake` to `Hashable` class.

    Add feature: new property `snowflake` to `Hashable` class.

    Summary

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement s: needs review 
    opened by yatochka-dev 0
  • `Cog.add_command`, `.remove_command`, etc.

    `Cog.add_command`, `.remove_command`, etc.

    Summary

    see title.

    What is the feature request for?

    disnake.ext.commands

    The Problem

    There's currently no proper way of dynamically adding/removing commands from cogs, other than directly messing around with internal fields like __cog_commands__.

    The Ideal Solution

    New methods like Cog.add_command, .remove_command, as well as complementary ones for slash/user/message application commands.

    The Current Solution

    modifying __cog_commands__, which isn't documented

    Additional Context

    suggested here: https://canary.discord.com/channels/808030843078836254/913779868985090089/1058180711095484416

    feature request 
    opened by shiftinv 0
  • feat(Guild): add support for raid alerts

    feat(Guild): add support for raid alerts

    Summary

    https://github.com/discord/discord-api-docs/pull/5778

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement t: api support s: needs review s: waiting for api/docs 
    opened by Victorsitou 0
  • feat(AutoMod): add support for `mention_raid_protection_enabled`

    feat(AutoMod): add support for `mention_raid_protection_enabled`

    Summary

    Implements https://github.com/discord/discord-api-docs/pull/5778.

    Checklist

    • [x] If code changes were made, then they have been tested
      • [x] I have updated the documentation to reflect the changes
      • [x] I have formatted the code properly by running task lint
      • [x] I have type-checked the code by running task pyright
    • [ ] This PR fixes an issue
    • [x] This PR adds something new (e.g. new method or parameters)
    • [ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement t: api support s: needs review s: waiting for api/docs 
    opened by Victorsitou 0
  • Support for localizations of various text fields

    Support for localizations of various text fields

    Summary

    Add support for the existing localizations protocol to be easily used anywhere user visible text appears.

    What is the feature request for?

    The core library

    The Problem

    Currently, the library only provides means to handle localizations automatically for descriptions and parameters of application commands. The localizations protocol is exposed as a part of the API, but the use of it is cumbersome. Additionally, it does not natively support strings where substitution/formatting with dynamic values needs to occur.

    The Ideal Solution

    Allow for the use of Localized anywhere text is rendered on the user's end: content param of .send methods; Embed's title, description and fields; labels, placeholders etc. of components.

    await inter.response.send_message(Localized("Example text.", key="EXAMPLE_RESPONSE"))
    

    As an extension of current functionality, a way to provide values for a supposed template string could be added, since unlike app command descriptions and params, many strings are bound to have dynamic values. This could be done possibly by adding a keyword to Localized's constructor, or a method like .format:

    message = Localized("Example template: {}.", key="EXAMPLE_RESPONSE", values=(1,)) # tuple or dict
    # or
    message = Localized("Example template: {}.", key="EXAMPLE_RESPONSE").format(1)
    await inter.response.send_message(message)
    

    The Current Solution

    One has to write boilerplate code like this

    locs = inter.bot.i18n.get("EXAMPLE_RESPONSE") or {}
    await inter.response.send_message(locs.get(str(inter.locale), "Example text."))
    

    or write some sort of wrapper function, which would always need to be passed the i18n store, as well as the current locale. The upside of this way is it natively supports template strings, since we directly access said string and can format it afterwards.

    Additional Context

    No response

    feature request 
    opened by Enegg 0
Releases(v2.7.0)
  • v2.7.0(Nov 1, 2022)

    What's Changed

    This release adds support for python 3.11 and the new selects released by Discord.

    See the docs for how to use these new selects.

    Breaking Changes

    • Properly document that Message.system_content may return None. While this is documented as a breaking change, this function always could return None if the message type was not recognised. (#766)
    • Rename InteractionDataResolved.get() to get_by_id(). (#814)

    Deprecations

    New Features

    Bug Fixes

    • Add the missing attributes for PermissionOverwrite: use_application_commands and use_embedded_activities. (#777)
    • Ensure that embed fields are copied properly by Embed.copy() and that the copied embed is completely separate from the original one. (#792)
    • Fix an issue with Member.ban() erroring when the delete_message_days parameter was provided. (#810)
    • Try to get threads used in interactions (like threads in command arguments) from the cache first, before creating a new instance. (#814)
    • Fix creation of threads in text channels without Permissions.manage_threads. (#818)
    • Fix off-by-one error in AutoModKeywordPresets values. (#820)
    • Update event loop handling to avoid warnings when running on Python 3.11. (#827)
    • [ext.commands] Fix a case where optional variadic arguments could have infinite loops in parsing depending on the user input. (#825)

    Documentation

    • Speed up page load by changing hoverxref tooltips to be lazily loaded. (#393)
    • Remove reference to the v1.0 migration guide from the main index page, and move legacy changelogs to a separate page. (#697)
    • Update sphinx from version 5.1 to 5.3. (#764, #821)Add a note warning mentioning that using a disnake.File object as file kwarg makes a disnake.Embed not reusable. (#786)
    • Update broken Discord API Docs links, add :ddocs: role for easily creating links to the API documentation. (#793)
    • Add a custom 404 page for when the navigated page does not exist. (#797)

    Miscellaneous

    • Increase the upper bound for the aiohttp dependency from <3.9 to <4. (#789)
    • Use importlib.metadata instead of the deprecated pkg_resources in the cli for displaying the version. (#791)
    • [ext.commands] Add missing py.typed marker. (#784)
    • [ext.tasks] Add missing py.typed marker. (#784)

    Full changelog: https://docs.disnake.dev/en/stable/whats_new.html#v2-7-0 Git history: https://github.com/DisnakeDev/disnake/compare/v2.6.0...v2.7.0

    Source code(tar.gz)
    Source code(zip)
    disnake-2.7.0-py3-none-any.whl(1015.07 KB)
    disnake-2.7.0.tar.gz(951.05 KB)
  • v2.6.2(Nov 1, 2022)

    Bug Fixes


    Full changelog: https://docs.disnake.dev/en/v2.6.2/whats_new.html#v2-6-2 Git history: https://github.com/DisnakeDev/disnake/compare/v2.6.1...v2.6.2

    Source code(tar.gz)
    Source code(zip)
    disnake-2.6.2-py3-none-any.whl(997.54 KB)
    disnake-2.6.2.tar.gz(941.05 KB)
  • v2.6.1(Oct 20, 2022)

    Bug Fixes

    • Ensure that embed fields are copied properly by Embed.copy() and that the copied embed is completely separate from the original one. (#792)
    • Fix an issue with Member.ban() erroring when the delete_message_days parameter was provided. (#810)

    Full changelog: https://docs.disnake.dev/en/v2.6.1/whats_new.html#v2-6-1 Git history: https://github.com/DisnakeDev/disnake/compare/v2.6.0...v2.6.1

    Source code(tar.gz)
    Source code(zip)
  • v2.6.0(Sep 29, 2022)

    This release adds support for new forum channel features (like tags) as well as auto moderation, among other things. See below for more.

    Also note the breaking changes listed below, which may require additional code changes.

    Full changelog: https://docs.disnake.dev/en/stable/whats_new.html#v2-6-0 Git history: https://github.com/DisnakeDev/disnake/compare/v2.5.0...v2.6.0

    New Contributors

    • @thehaffk made their first contribution in https://github.com/DisnakeDev/disnake/pull/516
    • @davids-tips made their first contribution in https://github.com/DisnakeDev/disnake/pull/541
    • @toolifelesstocode made their first contribution in https://github.com/DisnakeDev/disnake/pull/566
    • @ResetXD made their first contribution in https://github.com/DisnakeDev/disnake/pull/571
    • @Skelmis made their first contribution in https://github.com/DisnakeDev/disnake/pull/576
    • @EmreTech made their first contribution in https://github.com/DisnakeDev/disnake/pull/612
    • @filefly made their first contribution in https://github.com/DisnakeDev/disnake/pull/620
    • @vcokltfre made their first contribution in https://github.com/DisnakeDev/disnake/pull/623
    • @Enegg made their first contribution in https://github.com/DisnakeDev/disnake/pull/281
    • @zachnieto made their first contribution in https://github.com/DisnakeDev/disnake/pull/567
    • @ItsAleph made their first contribution in https://github.com/DisnakeDev/disnake/pull/661
    • @ChristopherJHart made their first contribution in https://github.com/DisnakeDev/disnake/pull/636
    • @Snipy7374 made their first contribution in https://github.com/DisnakeDev/disnake/pull/730
    Source code(tar.gz)
    Source code(zip)
    disnake-2.6.0-py3-none-any.whl(997.46 KB)
    disnake-2.6.0.tar.gz(940.22 KB)
  • v2.5.3(Sep 29, 2022)

  • v2.4.2(Sep 2, 2022)

    Includes a backport of a fix relating to the message content intent always being requested by the client.

    Changelog: https://docs.disnake.dev/en/v2.4.x/whats_new.html#v2-4-2

    Source code(tar.gz)
    Source code(zip)
  • v2.5.2(Jul 27, 2022)

    Includes several bug fixes and documentation updates.

    More details and full changelog: https://docs.disnake.dev/en/v2.5.x/whats_new.html#v2-5-2

    Source code(tar.gz)
    Source code(zip)
  • v2.4.1(Jul 27, 2022)

    Includes several bug fixes and documentation updates.

    More details and full changelog: https://docs.disnake.dev/en/v2.4.x/whats_new.html#v2-4-1

    Source code(tar.gz)
    Source code(zip)
  • v2.5.1(May 10, 2022)

    Small patch release to fix an issue with the @slash.autocomplete(...) decorator in v2.5.0.

    Changelog: https://docs.disnake.dev/en/latest/whats_new.html#v2-5-1

    Source code(tar.gz)
    Source code(zip)
  • v2.5.0(May 7, 2022)

    This version adds support for API v10 (which comes with a few breaking changes), forum channels, localizations, permissions v2, improves API coverage by adding support for previously missing features like guild previews, widgets, or welcome screens, and contains several miscellaneous enhancements and bugfixes.

    Regarding the message content intent: Note that earlier versions will continue working fine after the message content intent deadline (August 31st 2022), as long as the intent is enabled in the developer portal. However, from this version (2.5.0) onward, the intent needs to be enabled in the developer portal and your code. See this page of the guide for more information. If you do not have access to the intent yet, you can temporarily continue using API v9 by calling disnake.http._workaround_set_api_version(9) before connecting, which will keep sending message content before the intent deadline, even with the intent disabled.

    More details and full changelog: https://docs.disnake.dev/en/latest/whats_new.html#v2-5-0

    Source code(tar.gz)
    Source code(zip)
  • v2.4.0(Feb 14, 2022)

  • v2.3.2(Feb 11, 2022)

  • v2.2.3(Feb 11, 2022)

  • v2.3.1(Feb 5, 2022)

  • v2.3.0(Dec 21, 2021)

  • v2.2.2(Nov 16, 2021)

  • v2.2.1(Nov 3, 2021)

  • v2.2.0(Nov 1, 2021)

  • v2.1.5(Oct 25, 2021)

    What's new:

    • min_value, max_value (float) kwargs in disnake.Option
    • min_value, max_value, gt, lt, ge, le (float) kwargs in disnake.ext.commands.Param (here gt and ge are aliases of min_value, lt and le are aliases of max_value)
    • disnake.InteractionReference
    • disnake.Message.interaction attribute (an instance of InteractionReference)
    • disnake.UnresolvedGuildApplicationCommandPermissions
    • owner (bool) kwarg in disnake.ext.commands.guild_permissions decorator

    Fixed:

    • Command deletions on reconnections
    • Unfinished sync tasks on loop termination

    Notes:

    • In v2.1.4 we fixed a a bug with permissions sync
    Source code(tar.gz)
    Source code(zip)
  • v2.1.3(Oct 17, 2021)

    Changelog: https://disnake.readthedocs.io/en/latest/whats_new.html#v2-1-2

    Summary:

    • Slash commands
    • Context menus
    • Application command permissions
    • Role icons
    Source code(tar.gz)
    Source code(zip)
→ Comando Básico para Python Discord

Discord.py · Código @client.event async def on_ready(): print('He iniciado sessión en: {0.user}'.format(client)) @client.event async def on_messa

Panda.xyz 4 Mar 12, 2022
Code for "Multimodal Trajectory Prediction Conditioned on Lane-Graph Traversals," CoRL 2021.

Multimodal Trajectory Prediction Conditioned on Lane-Graph Traversals This repository contains code for "Multimodal trajectory prediction conditioned

Nachiket Deo 113 Dec 28, 2022
A python library for creating Slack slash commands using AWS Lambda Functions

slashbot Slashbot makes it easy to create slash commands using AWS Lambda functions. These can be handy for creating a secure way to execute automated

Eric Brassell 17 Oct 21, 2022
Twitter automation tool for growing organic followers.

Tiwoto Tiwoto is a simple python program that automates some kind of behaviors and keep your account active. Create an .env file in this directory and

Mehmetcan Yildiz 6 Sep 22, 2022
Repository for the Nexus Client software.

LinkScope Client Description This is the repository for the LinkScope Client Online Investigation software. LinkScope allows you to perform online inv

107 Dec 30, 2022
OMDB-and-TasteDive-Mashup - Mashing up data from two different APIs to make movie recommendations.

OMDB-and-TasteDive-Mashup This hadns-on project is in the Python 3 Programming Specialization offered by University of Michigan via Coursera. Mashing

Eszter Pai 1 Jan 05, 2022
AWS Glue PySpark - Apache Hudi Quick Start Guide

AWS Glue PySpark - Apache Hudi Quick Start Guide Disclaimer: This is a quick start guide for the Apache Hudi Python Spark connector, running on AWS Gl

Gabriel Amazonas Mesquita 8 Nov 14, 2022
3X Fast Telethon Based Bot

📺 YouTube Song Downloader Bot For Telegram 🔮 3X Fast Telethon Based Bot ⚜ Easy To Deploy 🤗

@Dk_king_offcial 1 Dec 09, 2021
Python wrapper for JeyyAPI

Async python wrapper for JeyyAPI

7 Dec 10, 2022
Source code for Profile REST API

PROJECT PROFILE REST API Creating local development server: We will create a local development server that can run and test our API as we build it. We

1 Mar 29, 2022
A simple Telegram bot that converts a phone number to a direct whatsapp chat link

Open in WhatsApp I was using a great app to open a whatsapp chat with a given number directly without saving that number in my contact list, but I fel

Pathfinder 19 Dec 24, 2022
Some 3Commas helper bots, AltRank, GalaxyScore, Watchlist, Auto-Compound

3Commas Cyber Bot Helpers A collection of 3Commas bot helpers I wrote. (collection will grow over time) Disclaimer THE SOFTWARE IS PROVIDED "AS IS", W

Ron Klinkien 176 Jan 02, 2023
The bot I used to win a 3d printing filament giveaway.

Instagram-CommentBot-For-Giveaways This is the bot I used to win a 3d printer filament giveaway on Instagram. Usually giveaways require you to tag oth

Esad Yusuf Atik 1 Aug 01, 2022
A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

Muhammad Abdullah 273 Dec 31, 2022
A simple script that will watch a stream for you and earn the channel points.

Credits Main idea: https://github.com/gottagofaster236/Twitch-Channel-Points-Miner Bet system (Selenium): https://github.com/ClementRoyer/TwitchAutoCo

Alessandro Maggio 1.1k Jan 08, 2023
An Amazon Product Scraper built using scapy module of python

Amazon Product Scraper This is an Amazon Product Scraper built using scapy module of python Features it scrape various things Product Title Product Im

Sudhanshu Jha 1 Dec 13, 2021
Male' Map Telegram Bot

Male' Map TelegramBot A simple TelegramBot to fetch residential addresses in Male', Maldives. The bot can be queried inline or directly. sample .env f

Naail Abdul Rahman 12 Nov 25, 2022
discord token grabber scam - eductional purposes only!

Discord-QR-Scam תופס אסימון תמונה של Discord על אודות סקריפט Python שיוצר אוטומטית קוד QR הונאה של Nitro ותופס את אסימון הדיסקורד בעת סריקה. כלי זה מד

Amit Pinchasi 0 May 22, 2022
Detects members having unicode names. Public bot: @scarletwitchprobot

✨ Scarletwitch bot ✨ Detects unicode names members in a tg chat & provides a option to take action on that user ! Public bot: @scarletwitchprobot Supp

ÁÑÑÍHÌLÅTØR SPÄRK 18 Nov 12, 2022
PyMusic Player is a music player written in python3.

PyMusic Player is a music player written in python3. It harvests r

PythonSerious 2 Jan 30, 2022