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)
Make WhatsApp ChatBot and use WhatsApp API to send the WhatsApp messages in python .

Ultramsg.com WhatsApp Bot using WhatsApp API and ultramsg Demo WhatsApp API ChatBot using Ultramsg API with python. Opportunities and tasks: The outpu

Ultramsg 64 Dec 29, 2022
streamlit translator is used to detect and translate between languages created using gTTS, googletrans, pillow and streamlit python packages

Streamlit Translator Streamlit Translator is a simple translator app to detect and translate between languages. Streamlit Translator gets text and lan

Siva Prakash 5 Apr 05, 2022
un outil pour bypasser les code d'états HTTP négatif coté client ( 4xx )

4xxBypasser un outil pour bypasser les code d'états HTTP négatif coté client ( 4xx ) Liscence : MIT license Creator Installation : git clone https://g

21 Dec 25, 2022
Rotten Tomatoes API for Python

rottentomatoes.py rottentomatoes offers an easy-to-use Python wrapper to interact with the Rotten Tomatoes API. Before you try and use the API, make s

Zach Williams 88 Dec 15, 2022
A Telegram bot to upload files from Telegram or Direct links to Google Drive.

Google Drive Uploader Telegram Bot A Telegram bot to upload files from Telegram or Direct links to Google Drive. Features Telegram files support. Dire

IDNCoderX 21 Dec 05, 2022
🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

🚧 finCLI's own News API. No more limited API calls. Unlimited credible and latest information on BTC, Ethereum, Indian and Global Finance.

finCLI 5 Jun 16, 2022
SongBot2.0 With Python

SongBot2.0 Host 👨‍💻 Heroku 🚀 Manditary Vars BOT_TOKEN : Get It from @Botfather Special Feature Downloads Songs fastly and less errors as well as 0

Mr.Tanaji 5 Nov 19, 2021
This project, search all entities related to A2P in twilio

Mirror A2P Twilio This project, search all entities related to A2P in twilio (phone numbers, messaging services, campaign, A2P brand information and P

Iván Cárdenas 2 Nov 03, 2022
An inline Telegram bot to keep your private messages hidden from prying eyes.

Hide This Bot Hide This Bot is an inline Telegram bot to keep your private messages hidden from prying eyes.     How do I host it? Here is a brief gui

41 Dec 02, 2022
Azure free vpn for students only! (Self hosted/No sketchy services/Fast and free)

Azpn-Azure-Free-VPN Azure free vpn for students only! (Self hosted/No sketchy services/Fast and free) This is an alternative secure way of accessing f

Harishankar Kumar 6 Mar 19, 2022
Aqui está disponível GRATUITAMENTE, um bot de discord feito em python, saiba que, terá que criar seu bot como aplicação, e utilizar seu próprio token, e lembrando, é um bot básico, não se utiliza Cogs nem slash commands nele!

BotDiscordPython Aqui está disponível GRATUITAMENTE, um bot de discord feito em python, saiba que, terá que criar seu bot como aplicação, e utilizar s

Matheus Muguet 4 Feb 05, 2022
Модуль для создания скриптов для ВКонтакте | vk.com API wrapper

vk_api vk_api – Python модуль для создания скриптов для ВКонтакте (vk.com API wrapper) Документация Примеры Чат в Telegram Документация по методам API

Kirill 1.2k Jan 04, 2023
Telegram bot to download almost all from Instagram

Instagram Manager Bot The most advanced Instagram Downloader Bot. Please fork this repository don't import code Made with Python3 (C) @subinps Copyrig

SUBIN 300 Dec 30, 2022
Unofficial Coinbase Python Library

Unofficial Coinbase Python Library Python Library for the Coinbase API for use with three legged oAuth2 and classic API key usage Version 0.3.0 Requir

George Sibble 104 Dec 01, 2022
Cutting-edge GitHub page customization tool

Cutting-edge GitHub page customization tool Want to customize your GitHub user page, but don't know how? Now you can make your profile unique and attr

Igor Vaiman 32 Aug 24, 2022
🪣 Bitbucket Server PAT Generator

🪣 Bitbucket Server PAT Generator 🤝 Introduction Bitbucket Server (nee Stash) can hand out Personal Access Tokens (PAT) to be used in-place of user+p

reecetech 2 May 03, 2022
A way to export your saved reddit posts to a Notion table.

reddit-saved-to-notion A way to export your saved reddit posts and comments to a Notion table.Uses notion-sdk-py and praw for interacting with Notion

19 Sep 12, 2022
Isobot is originally made by notsniped. This is a remix of iso.bot by archisha.

iso6.9-08122021b-1.2beta Isobot is originally made by notsniped#0002. This is a remix of iso.bot by αrchιshα#5518. isobot6.9 is a Discord bot written

Kamilla Youver 3 Jan 11, 2022
Discord Token Generator - Python (Generates Tokens and Joins your Server Automatically) hCaptcha Bypass **FREE**

Best Discord Token Generator {hCaptcha bypass FREE Unlimited Memberboost} Install few requirements & run main.py it will redirect you to the Download

1 Oct 27, 2021