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)
This library is for simplified work with the sms-man.com API

SMSMAN Public API Python This is a lightweight library that works as a connector to Sms-Man public API Installation pip install smsman Documentation h

13 Nov 19, 2022
Simple script to ban bots at Twitch chats using a text file as a source.

AUTOBAN 🇺🇸 English version Simple script to ban bots at Twitch chats using a text file as a source. How to use Windows Go to releases for further in

And Paiva 5 Feb 06, 2022
A tool to build scripts to toggle between minimal & default services in Windows based on user defined lists.

A tool to build scripts to toggle between minimal & default services in Windows based on user defined lists.

AMIT 29 Jan 01, 2023
Instagram Bot posting earthquakes with magnitude greater than or equal to 3.5.

Instagram Bot posting earthquakes with magnitude greater than or equal to 3.5

Alican Yüksel 4 Aug 22, 2022
Clipboard-watcher - Keep an eye on the apps that are using your clipboard

clipboard-watcher This repository contains the code of an experiment, in order t

Gonçalo Valério 48 Oct 13, 2022
AWS Lambda Fast API starter application

AWS Lambda Fast API Fast API starter application compatible with API Gateway and Lambda Function. How to deploy it? Terraform AWS Lambda API is a reus

OBytes 6 Apr 20, 2022
Simple stock price analytics

mune · Mune is an open source python web application built to analyze stocks, named after Homma Munehisa. Currently, the forecasting component is powe

Richard Hong 14 Aug 30, 2021
Python script that extract data via YouTube Api and manipulates it.

UNLIMITED README for the Unlimited game [Mining game] Explore the docs » View Demo · Report Bug · Request Feature Table of Contents About The Project

Serban Chisca 1 Dec 12, 2021
This is a open source discord bot project

pythonDiscordBot This is a open source discord bot project #based on the MAX A video: https://www.youtube.com/watch?v=jHZlvRr9KxM Prerequisites Python

Edson Holanda Teixeira Junior 3 Oct 11, 2021
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
The records of 42 million users from a third-party version of the popular Telegram messaging app have just been Iranian accounts leaked

TelegramDatabase About The records of 42 million users from a third-party version of the popular Telegram messaging app have just been Iranian account

Hamed Mohammadvand 10 Jan 14, 2022
Instagram bot that upload images for you which scrape posts from 9gag meme website or other Instagram users , which is 24/7 Automated Runnable.

Autonicgram Automates your Instagram posts by taking images from sites like 9gag or other Instagram accounts and posting it onto your page. Features A

Mastermind 20 Sep 17, 2022
Powerful and Advance Telegram Bot with soo many features😋🔥❤

Chat-Bot Reach this bot on Telegram Chat Bot New Features 🔥 ✨ Improved Chat Experience ✨ Removed Some Unnecessary Commands ✨ Added Facility to downlo

Sanila Ranatunga 10 Oct 21, 2022
Account Profiles Dumper for Fortnite.

Fortnite Profile Dumper This program allows you to dump your Fortnite account profiles. How to use it? After starting the FortniteProfileDumper.py, yo

PRO100KatYT 12 Jul 28, 2022
A telegram photos or videos background remover bot

Remove BG Bot A telegram photos or videos background remover bot Variables API_HASH Your API Hash from my.telegram.org API_ID Your API ID from my.tele

ALBY 7 Dec 13, 2022
hydrotoolbox is a Python script for hydrologic calculations and analysis or by function calls within Python.

hydrotoolbox is a Python script for hydrologic calculations and analysis or by function calls within Python.

Tim Cera 4 Aug 20, 2022
Telegram File to Link Fastest Bot , also used for movies streaming

Telegram File Stream Bot ! A Telegram bot to stream files to web. Report a Bug | Request Feature About This Bot This bot will give you stream links fo

Avishkar Patil 194 Jan 07, 2023
Check and write all account info + Check nitro on account

Discord-Token-Checker Check and write all account info + Check nitro on account Also check https://github.com/GuFFy12/Discord-Token-Parser (Parse disc

36 Jan 01, 2023
A Simple Telegram Bot that can Download Files From Mega.nz and Upload It to Telegram

MegaDL-Bot A Simple Telegram Bot By @mrkpbots to Download Files From Mega.nz and Upload It to Telegram Features No Login Required All Mega.nz File Lin

MRKP BOTS 5 Feb 20, 2022
Simple progressbar for discord

⚙️ DiscordProgressbar 📂 Установка | Installation pip install discordbar 📚 Документация | Documentation 📞 Связаться со мной | Сontact with me 📜 Ли

DenyS 26 Nov 30, 2022