A maintained fork of Danny's discord.py

Overview

Nextcord

Discord server invite PyPI version info PyPI supported Python versions Nextcord documentation

Nextcord

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

Fork notice

This is a fork of discord.py, which unfortunately has been officially discontinued on 28th August 2021. Nextcord will try to replace discord.py, with continued support and features, to still offer former discord.py users a stable API wrapper for their bots.

Key Features

  • Modern Pythonic API using async and await
  • Proper rate limit handling
  • Optimised in both speed and memory

Installing

Python 3.8 or higher is required

To install the library without full voice support, you can just run the following command:

# Linux/macOS
python3 -m pip install -U nextcord

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

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

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

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

To install additional packages for speedup, run the following command:

# Linux/macOS
python3 -m pip install -U "nextcord[speed]"

# Windows
py -3 -m pip install -U nextcord[speed]

To install the development version, do the following:

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

from nextcord.ext import commands


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

@bot.command()
async def ping(ctx):
    await ctx.reply('Pong!')

bot.run('token')

You can find more examples in the examples directory.

NOTE: It is not advised to leave your token directly in your code, as it allows anyone with it to access your bot. If you intend to make your code public you should store it securely.

Links

Comments
  • ImportError still occurring

    ImportError still occurring

    Summary

    libraries using d.py still throw an error

    Reproduction Steps

    after uninstalling discord.py (being incompatible) the error started

    Minimal Reproducible Code

    No response

    Expected Results

    they should've just imported and then work

    Actual Results

     File "/home/container/.local/lib/python3.8/site-packages/nextcord/ext/commands/bot.py", line 661, in _load_from_module_spec
        spec.loader.exec_module(lib)  # type: ignore
      File "<frozen importlib._bootstrap_external>", line 848, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/container/process-nr/cogs/slash.py", line 18, in <module>
        import dbl
      File "/home/container/.local/lib/python3.8/site-packages/dbl/__init__.py", line 18, in <module>
        from .client import DBLClient
      File "/home/container/.local/lib/python3.8/site-packages/dbl/client.py", line 35, in <module>
        from discord import Client
    ImportError: cannot import name 'Client' from 'discord' (unknown location)
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/home/container/.local/lib/python3.8/site-packages/nextcord/client.py", line 351, in _run_event
        await coro(*args, **kwargs)
      File "/home/container/process-nr/main.py", line 417, in on_ready
        init_config()
      File "/home/container/process-nr/main.py", line 114, in init_config
        client.load_extension(f'cogs.{filename[:-3]}')
      File "/home/container/.local/lib/python3.8/site-packages/nextcord/ext/commands/bot.py", line 733, in load_extension
        self._load_from_module_spec(spec, name)
      File "/home/container/.local/lib/python3.8/site-packages/nextcord/ext/commands/bot.py", line 664, in _load_from_module_spec
        raise errors.ExtensionFailed(key, e) from e
    nextcord.ext.commands.errors.ExtensionFailed: Extension 'cogs.slash' raised an error: ImportError: cannot import name 'Client' from 'discord' (unknown location)
    

    Intents

    Intents.members

    System Information

    - Python v3.8.10-final
    - nextcord v2.0.0-alpha
        - nextcord pkg_resources: v2.0.0a2
    - aiohttp v3.7.3
    - system info: Linux 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020
    

    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

    t: bug s: planned p: medium 
    opened by piotr25691 29
  • feat(commands): add bot.load_extensions

    feat(commands): add bot.load_extensions

    Summary

    This PR adds 2 new functions in ext.commands.bot that do the following:

    • load all extensions from a given list of their names
    • load all submodule extensions found in a module

    Checklist

    • [ ] If code changes were made then they have been tested.
      • [ ] 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 p: low 
    opened by EmreTech 21
  • feat: asynchronousifying setup function in cogs

    feat: asynchronousifying setup function in cogs

    Summary

    NOTE: THIS WILL RAISE AN KEYBOARDINTERRUPT IF YOU ARE DOING AS SKELMIS SAYS AND IS ENDING THE BOT USING CONTROL + C

    setup to be awaitable, fix issue #468

    Checklist

    • [x] If code changes were made then they have been tested. (pls help)
      • [x] I have updated the documentation to reflect the changes. (pls help)
    • [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) (uh not really, but yeah)
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement s: in progress p: low 
    opened by MaskDuck 21
  • feat: automod support

    feat: automod support

    Summary

    discord/discord-api-docs#4860

    adds

    • enums.TriggerType
    • enums.EventType
    • enums.KeywordPresetRule
    • Intents.automod_configuration
    • Intents.automod_execution
    • Intents.automod
    • automod.AutoModerationRule
    • enums.ActionType
    • enums.KeywordPresetType
    • enums.EventType
    • enums.TriggerType
    • http.HTTPClient.list_guild_automod_rules
    • http.HTTPClient.get_automod_rules
    • http.HTTPClient.create_automod_rule
    • http.HTTPClient.modify_automod_rule
    • http.HTTPClient.delete_automod_rule
    • MessageType.automod_action
    • AuditLogAction.automod_rule_create
    • AuditLogAction.automod_rule_update
    • AuditLogAction.automod_rule_delete
    • AuditLogAction.automod_block_message
    • Guild.get_automod_rule
    • Guild.get_automod_rules

    edit

    changed Intents.all to account for the skip in intents values because discord has not released the bitfields inbetween

    Checklist

    • [ ] If code changes were made then they have been tested.
      • [x] I have updated the documentation to reflect the changes.
      • [x] I have run task pyright and fixed the relevant issues.
    • [x] 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)
    • [x] This PR is not a code change (e.g. documentation, README, ...)
    t: enhancement s: in progress p: medium 
    opened by MaskDuck 20
  • feat: support more input types where files are used

    feat: support more input types where files are used

    Summary

    • Accept multiple formats (eg. Asset, Attachment, or bytes) and read the object conditionally based on the type. It adds extra time complexity only when users add Asset, Attachment, File for await avatar.read() and avatar.fp.read() else it'll simply pass the bytes which takes no extra time.

    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, ...)

    Testing

        @group(pass_context=True, aliases=["t"])
        async def test(self, ctx: Context):
            """Testing Group commands for bot"""
            if ctx.invoked_subcommand is None:
                await ctx.send('Invalid sub command passed')
    
        @test.command(aliases=["pe"])
        async def pfp_edit(self, ctx: Context):
            old_avatar = self.bot.user.avatar
            await self.bot.user.edit(avatar=None)
            await sleep(20)
            await self.bot.user.edit(avatar=ctx.message.attachments[0])
            await sleep(20)
            await self.bot.user.edit(avatar=old_avatar)
            await sleep(20)
            await self.bot.user.edit(avatar=File("test/image.jpeg"))
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["sec"])
        async def scheduled_event_create(self, ctx: Context, channel: VoiceChannel):
            await ctx.guild.create_scheduled_event(
                entity_type=ScheduledEventEntityType.voice,
                start_time=ctx.message.created_at+timedelta(minutes=1),
                name="Testing", channel=channel,
                image=ctx.message.attachments[0]
            )
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["see"])
        async def scheduled_event_edit(self, ctx: Context, event_id: int):
            event = ctx.guild.get_scheduled_event(event_id)
            old_image = event.image
            await event.edit(image=None)
            await sleep(20)
            await event.edit(image=ctx.message.attachments[0])
            await sleep(20)
            await event.edit(image=old_image)
            await sleep(20)
            await event.edit(image=File("test/image.jpeg"))
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["cr"])
        async def create_role(self, ctx: Context):
            await ctx.guild.create_role(
                name="TESTING",
                color=Color.brand_red(),
                icon=ctx.message.attachments[0]
            )
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["gc"])
        async def guild_create(self, ctx: Context, template_code: str = None):
            guild = await self.bot.create_guild(
                name="TESTING",
                icon=ctx.message.attachments[0],
                code=template_code
            )
            channel = await guild.create_text_channel("demo")
            invite = await channel.create_invite()
            await ctx.author.send(invite.url)
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["ge"])
        async def guild_edit(self, ctx: Context, guild: Guild):
            await guild.edit(icon=None)
            await sleep(20)
            await guild.edit(icon=ctx.message.attachments[0])
            await sleep(20)
            await guild.edit(icon=ctx.author.display_avatar)
            await sleep(20)
            await guild.edit(icon=File("test/image.jpeg"))
    
        @test.command(aliases=["gr"])
        async def guild_remove(self, ctx: Context, guild: Guild):
            await guild.delete()
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["wc"])
        async def webhook_create(self, ctx: Context):
            await ctx.channel.create_webhook(
                name="Testing",
                avatar=ctx.message.attachments[0]
            )
            await ctx.message.add_reaction("👍")
    
        @test.command(aliases=["awe"])
        async def async_webhook_edit(self, ctx: Context):
            webhook = find(lambda wh: wh.user.id == self.bot.user.id, (await ctx.channel.webhooks()))
            await webhook.edit(avatar=None)
            await sleep(20)
            await webhook.edit(avatar=ctx.message.attachments[0])
            await sleep(20)
            await webhook.edit(avatar=ctx.author.display_avatar)
            await sleep(20)
            await webhook.edit(avatar=File("test/image.jpeg"))
            await ctx.message.add_reaction("👍")
    
    t: enhancement p: low s: awaiting review 
    opened by drlove2002 19
  • Replace star imports with manual imports

    Replace star imports with manual imports

    Summary

    Fix #635.

    Checklist

    • [ ] If code changes were made then they have been tested.
      • [ ] I have updated the documentation to reflect the changes.
    • [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) Can be breaking change if user use not-public API. I copied all from __all__ variables.
    • [ ] This PR is not a code change (e.g. documentation, README, ...)
    t: bug p: medium s: awaiting review 
    opened by PerchunPak 18
  • Update application_commands/cog_example to ClientCog

    Update application_commands/cog_example to ClientCog

    Summary

    This updates the example for application command Cogs to the actual ClientCog. It also shows basic usage of the cog_check equivalent for ClientCog.

    Checklist

    • [X] If code changes were made then they have been tested.
      • [ ] I have updated the documentation to reflect the changes.
    • [ ] 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: docs p: low s: awaiting review 
    opened by ToasterUwU 18
  • Add `Guild.online_members`

    Add `Guild.online_members`

    Summary

    This pull request adds online_members to the Guild class. This exists to save time for bot developers who need to quickly check if a user is online, or to find out how many users are online.

    Checklist

    • [ ] 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, ...)
    opened by mounderfod 18
  • slash checks/hooks

    slash checks/hooks

    Summary

    This PR adds application command checks, similar to the existing prefix command checks.

    Changes:

    • adds global, cog, and local checks to the application command, along with all the premade ones such as checks.guild_only()
    • implements before and after invoke hooks
    • new client event, on_application_error, similar to on_command_error
    • adds on_error error handlers to application commands
    • adds attached of type InteractionAttached (more on that in the next line), application_command, client, and bot attributes to the Interaction class
    • adds InteractionAttached class, added to each instance of Interaction. Used to store any data within the interaction itself.
    • moves _get_overridden_method from commands.Cog to application_commands.ClientCog
    • moves owner_id, owner_ids, and is_owner method from commands.Bot to nextcord.Client

    (The documentation and type hinting may need some review, not too sure if I did those correctly)

    Checklist

    • [x] If code changes were made then they have been tested.
      • [ ] 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 p: medium s: awaiting review 
    opened by okay1204 15
  • fix: Python3.11 dataclass changes

    fix: Python3.11 dataclass changes

    Summary

    This closes #866 by migrating the syntax for flags.py inline with changes to Python 3.11

    Checklist

    • [x] If code changes were made then they have been tested.
      • [ ] I have updated the documentation to reflect the changes.
      • [x] I have run task pyright and fixed the relevant issues.
    • [ ] 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: bug p: high 2.3 
    opened by Skelmis 14
  • feat(help)!: Improve the looks of help command

    feat(help)!: Improve the looks of help command

    Summary

    Refactors DefaultHelpCommand to look less outdated and ugly.

    You could consider this a breaking change due to DefaultHelpCommand loosing some functionality. Though, DefaultHelpCommand should not be subclassed to begin with.

    An image of how everything looks is in the comments.

    resolves #690

    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 run task pyright and fixed the relevant issues.
    • [x] 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, ...)
    opened by H4ckerxx44 14
  • feat: on_application_command event

    feat: on_application_command event

    Summary

    closes #958

    Checklist

    • [ ] If code changes were made then they have been tested.
      • [x] I have updated the documentation to reflect the changes.
      • [ ] I have run task pyright and fixed the relevant issues.
    • [x] 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: low s: awaiting review 
    opened by MaskDuck 0
  • refactor: remove mutable parameter defaults

    refactor: remove mutable parameter defaults

    Summary

    Closes #815

    Checklist

    • [x] If code changes were made then they have been tested.
      • [ ] I have updated the documentation to reflect the changes.
      • [x] I have run task pyright and fixed the relevant issues.
    • [ ] 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: bug p: medium s: awaiting review 
    opened by ooliver1 0
  • on_application_command event

    on_application_command event

    Summary

    Dispatch an event when an application command is executed

    What is the feature request for?

    Application commands

    The Problem

    I want to receive an event when an application command is executed

    The Ideal Solution

    Dispatch an event called application_command

    The Current Solution

    @bot.event
    async def on_interaction(inter: Interaction) -> None:
      if inter.type = InteractionType.application_command:
        ...
    

    Additional Context

    No response

    t: enhancement p: low s: awaiting review 
    opened by MaskDuck 0
  • feat: add ability to format strings like text channel names

    feat: add ability to format strings like text channel names

    Summary

    Adds format_as_channel_name, a function to convert text to a text-channel compatible name, same as Discord does in the background when creating channels via the API.

    Example: "Joey's Cool Channel" -> "joeys-cool-channel"

    This is my first PR, I've looked at the contributing guidelines but I'm unsure about what to do regarding docs. Please could someone take a look? Thanks! 😅

    Checklist

    • [x] If code changes were made then they have been tested.
      • [ ] I have updated the documentation to reflect the changes.
      • [x] I have run task pyright and fixed the relevant issues.
    • [ ] 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: low s: awaiting review 
    opened by squeakerdev 1
  • Global Checks for Application Commands

    Global Checks for Application Commands

    Summary

    Adding global checks for application commands

    What is the feature request for?

    Application commands

    The Problem

    After some looking around for a way to implement a global check for application commands (much like the global checks for context commands), it seems there isn't a way to do a global check of all slash commands.

    The Ideal Solution

    This feature would act just like global checks for context commands except it would apply to application commands.

    The Current Solution

    No response

    Additional Context

    No response

    t: enhancement p: medium help wanted 
    opened by RPrime2003 0
Releases(v2.3.2)
  • v2.3.2(Nov 11, 2022)

    What's Changed

    This is a bugfix release to resolve false positive argument checking. https://docs.nextcord.dev/en/stable/whats_new.html#v2-3-2

    Contributors of this Release: @EmreTech Full Changelog: https://github.com/nextcord/nextcord/compare/v2.3.1...v2.3.2

    Source code(tar.gz)
    Source code(zip)
  • v2.3.1(Nov 11, 2022)

    What's Changed

    This is a bugfix release to resolve an import error with nextcord.ui :pensive:. https://docs.nextcord.dev/en/stable/whats_new.html#v2-3-1

    Contributors of this Release: @kingmigdor Full Changelog: https://github.com/nextcord/nextcord/compare/v2.3.0...v2.3.1

    Source code(tar.gz)
    Source code(zip)
  • v2.3.0(Nov 11, 2022)

    What's Changed

    This version includes support for small changes recently made by Discord, and many type annotation improvements. https://docs.nextcord.dev/en/stable/whats_new.html#v2-3-0

    New Contributors

    • @GestaIt made their first contribution in https://github.com/nextcord/nextcord/pull/773
    • @doublevcodes made their first contribution in https://github.com/nextcord/nextcord/pull/830
    • @e-codes-stuff made their first contribution in https://github.com/nextcord/nextcord/pull/858

    Contributors of this Release: @kingmigdor, @EmreTech, @ooliver1, @teaishealthy, @e-codes-stuff, @alentoghostflame, @doublevcodes, @toolifelesstocode, @DenverCoder1, @ToasterUwU, @MaskDuck, @Koalacards, @Skelmis, @GestaIt Full Changelog: https://github.com/nextcord/nextcord/compare/v2.2.0...v2.3.0

    Source code(tar.gz)
    Source code(zip)
  • v2.2.0(Sep 9, 2022)

    What's Changed

    This release comes with mostly quality of life changes. https://docs.nextcord.dev/en/stable/whats_new.html#v2-2-0

    Contributors of this Release: @DenverCoder1, @Soheab, @TrapDrap, @alentoghostflame, @benedictvs, @Skelmis, @i80287, @ooliver1, @H4ckerxx44 Full Changelog: https://github.com/nextcord/nextcord/compare/v2.1.1...v2.2.0

    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Sep 9, 2022)

    What's Changed

    This release backports changes from v2.2.0 due to a breaking change in that release. https://docs.nextcord.dev/en/stable/whats_new.html#v2-1-1

    New Contributors

    • @i80287 made their first contribution in https://github.com/nextcord/nextcord/pull/787
    • @benedictvs made their first contribution in https://github.com/nextcord/nextcord/pull/792

    Contributors of this Release: @ooliver1, @H4ckerxx44, @Skelmis, @alentoghostflame, @DenverCoder1, @i80287, @benedictvs Full Changelog: https://github.com/nextcord/nextcord/compare/v2.1.0...v2.1.1

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Aug 8, 2022)

    What's Changed

    Adds support for many discord features, with a few bug fixes. https://docs.nextcord.dev/en/stable/whats_new.html#v2-1-0

    New Contributors

    • @EmreTech made their first contribution in https://github.com/nextcord/nextcord/pull/674
    • @TrapDrap made their first contribution in https://github.com/nextcord/nextcord/pull/714

    Contributors of this release: @ooliver1, @EmreTech, @DenverCoder1, @H4ckerxx44, @Skelmis, @Soheab, @toolifelesstocode, @ArjunSharda, @kingmigdor, @alentoghostflame, @RamzziSudip

    Full Changelog: https://github.com/nextcord/nextcord/compare/v2.0.0...v2.1.0

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Jun 28, 2022)

    What's Changed

    Only docs, ci and non-code changes have been merged since https://github.com/nextcord/nextcord/commit/3eeba694b2b4bfd464c290342030f7d040e8ff9d, the only non-code change for the past week has been #698

    We are proud to release nextcord 2.0 stable! Thank you everyone for helping get us to this point :) There will be an announcement in https://discord.gg/nextcord soon, watch out for that!

    New Contributors

    • @PerchunPak made their first contribution in https://github.com/nextcord/nextcord/pull/705

    Full Changelog: https://github.com/nextcord/nextcord/compare/v2.0.0rc2...v2.0.0

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0rc2(Jun 23, 2022)

    What's Changed

    Bug Fixes

    • Apply checks to context menu commands by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/698

    Full Changelog: https://github.com/nextcord/nextcord/compare/v2.0.0rc1...v2.0.0rc2

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0rc1(Jun 20, 2022)

    What's Changed

    Features

    Bug Fixes

    New Contributors

    Full Changelog: https://github.com/nextcord/nextcord/compare/v2.0.0b4...v2.0.0rc1

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0b4(Jun 12, 2022)

    What's Changed

    Bug Fixes

    • app-cmds: dm_permission causing resync and cmds via bot not registering fully by @alentoghostflame in https://github.com/nextcord/nextcord/pull/664

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0b3...v2.0.0b4

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0b3(Jun 5, 2022)

    What's Changed

    • fix(voice): default websocket callback function is async by @Skelmis in https://github.com/nextcord/nextcord/pull/661

    New Contributors

    • @toolifelesstocode made their first contribution in https://github.com/nextcord/nextcord/pull/659

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0b2...2.0.0b3

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0b2(Jun 3, 2022)

  • 2.0.0b1(Jun 3, 2022)

    What's Changed

    NOTE

    This requires Intents.message_content to receive content for messages, see here for more info

    Features

    • cogs: allow setup function to be async by @MaskDuck in https://github.com/nextcord/nextcord/pull/536
    • ui: Modal _expires_at and View auto_defer by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/555
    • app-cmds: add autocomplete_function as an argument to SlashOption by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/544
    • events: add close event (#349) by @pmdevita in https://github.com/nextcord/nextcord/pull/553
    • to_file for assets, emojis, and stickers by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/562
    • interactions: make send return a PartialInteractionMessage by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/573
    • embeds: set image and thumbnail to not be kwarg forced by @RamzziSudip in https://github.com/nextcord/nextcord/pull/603
    • filename and description kwargs in to_file by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/602
    • embeds: return the Embed from Embed.clear_fields() by @MaskDuck in https://github.com/nextcord/nextcord/pull/626
    • embeds: return Embed from Embed.remove_field by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/630
    • interactions: return message from InteractionResponse.edit_message by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/622
    • member: add a disconnect helper method by @ToasterUwU in https://github.com/nextcord/nextcord/pull/637
    • app-cmds: ignore_forbidden kwarg, fix error with app check deco order by @alentoghostflame in https://github.com/nextcord/nextcord/pull/657

    Breaking Changes

    • guild: update bans to use an iterator and pagination by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/564
    • remove store channel functionality by @H4ckerxx44 in https://github.com/nextcord/nextcord/pull/560
    • app-cmds: rename classes, support app permissions and localisation by @alentoghostflame in https://github.com/nextcord/nextcord/pull/530
    • use discord api v10 by @ooliver1 in https://github.com/nextcord/nextcord/pull/647

    Bug fixes

    • removing embeds when editing with files and add embeds to PartialMessage.edit by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/551
    • messages: add context_menu_command to is_system by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/561
    • app-cmds: support leaving out interaction in numpy docstring by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/559
    • app-cmds: pass default_permission correctly (Closes: #373) by @hlieberman in https://github.com/nextcord/nextcord/pull/383
    • fix(member): fix typehint by @MaskDuck in https://github.com/nextcord/nextcord/pull/614
    • app-checks: remove unused argument from ApplicationCommand and remove unused variable invoke_error by @okay1204 in https://github.com/nextcord/nextcord/pull/611
    • channels: getting guild when no channel type by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/652
    • iterators: resolve infinite loop in scheduled event iterators by @ooliver1 in https://github.com/nextcord/nextcord/pull/644
    • iterators: guild iterator can paginate properly and 200 per page by @shiftinv in https://github.com/nextcord/nextcord/pull/649

    New Contributors

    • @Georgeees made their first contribution in https://github.com/nextcord/nextcord/pull/554
    • @pmdevita made their first contribution in https://github.com/nextcord/nextcord/pull/553
    • @hlieberman made their first contribution in https://github.com/nextcord/nextcord/pull/383
    • @ToasterUwU made their first contribution in https://github.com/nextcord/nextcord/pull/616
    • @shiftinv made their first contribution in https://github.com/nextcord/nextcord/pull/649

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a10...2.0.0b1

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a10(Mar 22, 2022)

    What's Changed

    Features

    • AudioPlayer after parameter can be a coroutine by @anoadragon453 in https://github.com/nextcord/nextcord/pull/448
    • Modals by @ascpial in https://github.com/nextcord/nextcord/pull/445
    • Client.fetch_guilds with_counts boolean parameter by @JDJGInc in https://github.com/nextcord/nextcord/pull/475
    • Application commands checks/hooks by @okay1204 in https://github.com/nextcord/nextcord/pull/348
    • Automatic slash descriptions from docstrings by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/480
    • Adding Interaction.created_at, expires_at and has_expired by @kingmigdor in https://github.com/nextcord/nextcord/pull/534
    • GuildChannel.jump_url + PrivateChannel.jump_url @acco4321 in https://github.com/nextcord/nextcord/pull/531

    Breaking Changes

    • Member.timeout helper function (Member.timeout property -> Member.communication_disabled_until) by @Shlol762 in https://github.com/nextcord/nextcord/pull/423 - breaking change
    • File.description and parameter by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/525 - breaking change
      • append_files parameter removed from message edit methods
      • must specify existing attachments when adding files

    Fixes

    • Fix audio delay when calling after function - AudioPlayer by @Dysta in https://github.com/nextcord/nextcord/pull/515
    • fix: Return the correct timeout in View._expires_at by @Skelmis in https://github.com/nextcord/nextcord/pull/497
    • Cython compatibility by @AstroFloof in https://github.com/nextcord/nextcord/pull/517
    • Make utils.get content-aware by @frissyn in https://github.com/nextcord/nextcord/pull/463

    New Contributors

    • @ShowierData9978-Alt made their first contribution in https://github.com/nextcord/nextcord/pull/518
    • @Pysics made their first contribution in https://github.com/nextcord/nextcord/pull/520
    • @ascpial made their first contribution in https://github.com/nextcord/nextcord/pull/445
    • @Dysta made their first contribution in https://github.com/nextcord/nextcord/pull/515
    • @JDJGInc made their first contribution in https://github.com/nextcord/nextcord/pull/475
    • @okay1204 made their first contribution in https://github.com/nextcord/nextcord/pull/348
    • @AstroFloof made their first contribution in https://github.com/nextcord/nextcord/pull/517
    • @kingmigdor made their first contribution in https://github.com/nextcord/nextcord/pull/534
    • @acco4321 made their first contribution in https://github.com/nextcord/nextcord/pull/531
    • @EyadLordXxXxX made their first contribution in https://github.com/nextcord/nextcord/pull/538
    • @frissyn made their first contribution in https://github.com/nextcord/nextcord/pull/463

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a9...2.0.0a10

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a9(Mar 6, 2022)

    What's Changed

    Fixes

    • Task bugfix and refactoring by @veni-vidi-code in https://github.com/nextcord/nextcord/pull/469
    • Replacing attachments by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/472
    • ApplicationCommand association now checks option length. by @alentoghostflame in https://github.com/nextcord/nextcord/pull/482
    • Make SlashOption extend typing.Any by @abrahammurciano in https://github.com/nextcord/nextcord/pull/500
    • Small performance improvement for dm messages by @veni-vidi-code in https://github.com/nextcord/nextcord/pull/461

    Features

    • Add join_notification_replies SystemChannelFlags by @MoonlightCapital in https://github.com/nextcord/nextcord/pull/486
    • Added Attachment support for slash commands. by @alentoghostflame in https://github.com/nextcord/nextcord/pull/476
    • Add support for scheduled event cover image by @Soheab in https://github.com/nextcord/nextcord/pull/489
    • Cache roles within Guild.fetch_roles by @Skelmis in https://github.com/nextcord/nextcord/pull/502
    • Alternate syntax for optional slash args by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/410
    • Add attachments to edit_original_message, Interaction.edit, Webhook.edit_message, WebhookMessage.edit by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/507
    • Default command_prefix in commands.Bot() by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/101

    New Contributors

    • @MoonlightCapital made their first contribution in https://github.com/nextcord/nextcord/pull/486
    • @MaskDuck made their first contribution in https://github.com/nextcord/nextcord/pull/471
    • @MouseMoosz made their first contribution in https://github.com/nextcord/nextcord/pull/495

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a8...2.0.0a9

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a8(Feb 14, 2022)

    What's Changed

    • Slash commands will get type hints when slash annotations is used
    • Set default slash command/option description to "No description provided" instead of a space due to a major change by discord
    • Fix bug where calling is_system would error

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a7...2.0.0a8

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a7(Feb 5, 2022)

    What's Changed

    • fix(events): member intents can work off now? by @ooliver1 in https://github.com/nextcord/nextcord/pull/346
    • Addition of role icons by @veni-vidi-code in https://github.com/nextcord/nextcord/pull/195
    • Slash fixes by @alentoghostflame in https://github.com/nextcord/nextcord/pull/344
    • Merge: #298 by @Lulalaby in https://github.com/nextcord/nextcord/pull/298
    • Add handler for message thread field update by @Artemis21 in https://github.com/nextcord/nextcord/pull/342
    • Add possibility to edit files on a message by @Gugu7264 in https://github.com/nextcord/nextcord/pull/318
    • feat: Send files with interaction response by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/354
    • [Slash Commands] Construct a Member if data is available by @Soheab in https://github.com/nextcord/nextcord/pull/327
    • fix(ext-core): i dont think numpy defaults as such by @ooliver1 in https://github.com/nextcord/nextcord/pull/363
    • Add raw_member_remove event by @Gugu7264 in https://github.com/nextcord/nextcord/pull/325
    • fix: allow deferring messages on component interactions by @onerandomusername in https://github.com/nextcord/nextcord/pull/368
    • fix: ScheduledEvent.edit missing arguments in http by @Gugu7264 in https://github.com/nextcord/nextcord/pull/374
    • fix: status not in list of valid_keys for edit event by @Gugu7264 in https://github.com/nextcord/nextcord/pull/381
    • fix: provide a copy of after in voice_state_update event by @Gugu7264 in https://github.com/nextcord/nextcord/pull/364
    • feat: Add delete_after to send_message, edit_message, edit by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/384
    • fix: check if time parameter is semi-timezone-aware and raise excepti… by @Gugu7264 in https://github.com/nextcord/nextcord/pull/380
    • Add client to interaction class by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/358
    • feat: delete_after for deferred/webhook messages by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/387
    • perf: Reduce API calls for delete_after by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/388
    • Bump aiohttp version in requirements by @freepizzas-dev in https://github.com/nextcord/nextcord/pull/386
    • fix: pass ConnectionState to CustomActivity, allowing to pass it to P… by @Gugu7264 in https://github.com/nextcord/nextcord/pull/375
    • chore: add note to ScheduledEvent.edit status parameter by @Gugu7264 in https://github.com/nextcord/nextcord/pull/385
    • Application Commands Documentation by @VincentRPS in https://github.com/nextcord/nextcord/pull/309
    • fix: ensure that a message's thread is the same one in the cache by @onerandomusername in https://github.com/nextcord/nextcord/pull/362
    • fix: Guild.chunk ignoring cache parameter by @Gugu7264 in https://github.com/nextcord/nextcord/pull/371
    • Add Thread.create_timestamp by @Soheab in https://github.com/nextcord/nextcord/pull/372
    • [URGENT] fix: custom activities can have no emotes AAAA by @Gugu7264 in https://github.com/nextcord/nextcord/pull/392
    • health check still present in unaliased by @TAG-Epic in https://github.com/nextcord/nextcord/pull/391
    • chore: move docstrings to the correct place by @Gugu7264 in https://github.com/nextcord/nextcord/pull/406
    • Add CONTEXT_MENU_COMMAND message type by @TAG-Epic in https://github.com/nextcord/nextcord/pull/390
    • Fixed dynamic cooldowns (BucketType.default case) by @EQUENOS in https://github.com/nextcord/nextcord/pull/411
    • Refactor and simplify app command examples by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/409
    • feat: Add file/files to InteractionResponse.edit_message by @DenverCoder1 in https://github.com/nextcord/nextcord/pull/412
    • Add allowed_mentions to interaction responses by @14ROVI in https://github.com/nextcord/nextcord/pull/407
    • Implement scheduled event covers by @TAG-Epic in https://github.com/nextcord/nextcord/pull/356
    • Revert "Implement scheduled event covers" by @ooliver1 in https://github.com/nextcord/nextcord/pull/413
    • Revert "Revert "Implement scheduled event covers"" by @ooliver1 in https://github.com/nextcord/nextcord/pull/414
    • [User commands] Construct member if possible by @Soheab in https://github.com/nextcord/nextcord/pull/360
    • fix(client): improper logging level for event by @ooliver1 in https://github.com/nextcord/nextcord/pull/418
    • Fixed issue #419 and #417 by @Shlol762 in https://github.com/nextcord/nextcord/pull/427
    • Fixed more doc typos by @Shlol762 in https://github.com/nextcord/nextcord/pull/430
    • fix(message): dont assign to the thread property by @ooliver1 in https://github.com/nextcord/nextcord/pull/431

    New Contributors

    • @Lulalaby made their first contribution in https://github.com/nextcord/nextcord/pull/298
    • @onerandomusername made their first contribution in https://github.com/nextcord/nextcord/pull/368
    • @freepizzas-dev made their first contribution in https://github.com/nextcord/nextcord/pull/386
    • @EQUENOS made their first contribution in https://github.com/nextcord/nextcord/pull/411
    • @14ROVI made their first contribution in https://github.com/nextcord/nextcord/pull/407

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a6...2.0.0a7

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a6(Jan 8, 2022)

    What's Changed

    • Fix member.edit without a timeout raising an error
    • add scheduled events
    • update to API version 9
    • Add 'thread' field to messages

    Full Changelog: https://github.com/nextcord/nextcord/compare/2.0.0a5...2.0.0a6

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a5(Jan 1, 2022)

    • Added slash commands
    • General typing fixes
    • Added spammer user flag
    • Added timeouts
    • Default role mentions are now @everyone not @@everyone
    • Support for animated guild banners
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a4(Dec 15, 2021)

    • Fix typings e.g. on_guild_channel_pins_update
    • Tasks.loop bugfix if current day has passed
    • Bump aiohttp dependency to allow 3.8+
    • Interaction.send helper method for responding or sending
    • Commands group hook inheritance for child commands
    • Fix the permissions issue when iterating over a permission object
    • Prefer static_format over format with static assets
    • Fix VoiceClient aliasing not working as intended
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0a3(Sep 22, 2021)

SmartFile API Client (Python).

A SmartFile Open Source project. Read more about how SmartFile uses and contributes to Open Source software. Summary This library includes two API cli

SmartFile 19 Jan 11, 2022
🔮 Uncover some followers of a private instagram account

Private Instagram Chaining 🔮 Uncover part of followers of an instagram private account I have this private instagram account julianakhao. I need to g

аэт 69 Dec 17, 2022
This is a python wrapper for "the best api in the world"

This is a python wrapper for my api api_url = "https://api.dhravya.me/" This wrapper now has async support, its basically the same except it uses asyn

Dhravya Shah 3 Dec 21, 2021
100d002 - Simple program to calculate the tip amount and split the bill between all guests

Day 2 - Tip Calculator Simple program to calculate the tip amount and split the

Andre Schickhoff 1 Jan 24, 2022
Telegram bot to provide Telegram user/group/channel information

Whois-TeLeTiPs Telegram bot to provide Telegram user/group/channel information Deployment Methods Heroku Config Vars API_ID : Telegram API_ID, get it

11 Oct 21, 2022
An advanced Filter Bot with nearly unlimitted filters!

Unlimited Filter Bot ㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤ An advanced Filter Bot with nearly unlimitted filters! Features Nearly unlimited filters Supports all type of fil

1 Nov 20, 2021
A Bot Telegram Anti Users Channel to automatic ban users who using channel to send message in group.

Tg_Anti_UsersChannel A Bot Telegram Anti Users Channel to automatic ban users who using channel to send message in group. Features: Automatic ban Whit

idzeroid 6 Dec 26, 2021
A bot created with Python that interacts with GroupMe

GroupMe_Bot This is a bot I'm working on a small groupme group I'm in. This is something I'll work on in my spare time. Nothing but just a fun little

0 May 19, 2022
This code is for a bot which will find a Twitter user's most tweeted word and tweet that word, tagging said user

max_tweeted_word This code is for a bot which will find a Twitter user's most tweeted word and tweet that word, tagging said user The program uses twe

Yasho Bapat 1 Nov 29, 2021
1.本项目采用Python Flask框架开发提供(应用管理,实例管理,Ansible管理,LDAP管理等相关功能)

op-devops-api 1.本项目采用Python Flask框架开发提供(应用管理,实例管理,Ansible管理,LDAP管理等相关功能) 后端项目配套前端项目为:op-devops-ui jenkinsManager 一.插件python-jenkins bug修复 (1).插件版本 pyt

3 Nov 12, 2021
Boto is a Python package that provides interfaces to Amazon Web Services.

Boto is a Python package that provides interfaces to Amazon Web Services.

the boto project 6.5k Jan 01, 2023
An API Client package to access the APIs for NBA.com

nba_api An API Client package to access the APIs for NBA.com Development Version: v1.1.9 nba_api is an API Client for www.nba.com. This package is mea

Swar Patel 1.4k Jan 01, 2023
A very tiny python api for the stock exchange tradegate.de

pytradegate A very tiny python api for the stock exchange tradegate.de The api provides the recent ask/bid data and all other data as found on the det

dunderstr aka seimen 7 Aug 24, 2022
Automated crypto trading bot as adapted from Algovibes.

crypto-trading-bot Automated crypto trading bot as adapted from Algovibes. Pre-requisites Ensure that you have created a Binance API key before procee

Kai Koh 33 Nov 01, 2022
A pixeldrain python package using pixeldrain official api

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Pixeldrain/blob/main/LICENSE In

Fayas Noushad 6 Jan 26, 2022
Telegram Group Calls Streaming bot with some useful features, written in Python with Pyrogram and Py-Tgcalls. Supporting platforms like Youtube, Spotify, Resso, AppleMusic, Soundcloud and M3u8 Links.

Yukki Music Bot Yukki Music Bot is a Powerful Telegram Music+Video Bot written in Python using Pyrogram and Py-Tgcalls by which you can stream songs,

Team Yukki 996 Dec 28, 2022
Automatically gets clips from twitch streams and uploads them to a YouTube channel.

Twitch Stream Highlights to YT Automatic Uploader (AutoBot Clipper) This script can be used to automatically extract highlights (or clips) from a twit

Teja Swaroop 57 Dec 12, 2022
Simple screen recorder

Kooha Simple screen recorder Description Kooha is a simple screen recorder built with GTK. It allows you to record your screen and also audio from you

Dave Patrick 1.2k Jan 03, 2023
PyDottie is a version of Dottie.js written in Python 3.

PyDottie is a version of Dottie.js written in Python 3.

Jose Noriega 2 Nov 21, 2021
A discord token nuker With loads of options that will screw an account up real bad

A discord token nuker With loads of options that will screw an account up real bad, also has inbuilt massreport, GroupChat Spammer and Token/Password/Creditcard grabber and so much more!

XPTGR 0 Aug 07, 2022