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)

An integrated information collection tool

infoscaner 环境配置 目前infoscaner仅支持在linux上运行,建议运行在最新版本的kali中 infoscaner是基于python3版本实现的,运行之前首先安装python库 如果同时存在python2和python3,请输入以下命令 pip3 install -r requi

CMACCKK 74 Sep 13, 2021
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
Image-Bot-Discord - This Is a discord bot that shows the specific image you search from Google

Advanced Discord.py Image Bot CREDITS Made by RLX and Mathiscool README by Milrato Installation Guide in .env Adjust the TOKEN python main.py to start

RLX 3 Jan 16, 2022
Template to create a telegram bot in python

Template for Telegram Bot Template to create a telegram bot in python. How to Run First add src to PYTHONPATH: export PYTHONPATH=${PWD} Then run: pyt

Ali Hejazizo 12 Dec 24, 2022
An attendance bot that joins google meet automatically according to schedule and marks present in the google meet.

Google-meet-self-attendance-bot An attendance bot which joins google meet automatically according to schedule and marks present in the google meet. I

Sarvesh Wadi 12 Sep 20, 2022
A.I and game for gomoku, working only on windows

Gomoku (A.I of gomoku) The goal of the project is to create an artificial intelligence of gomoku. Goals Beat the opponent. Requirements Python 3.7+ Wo

Luis Rosario 13 Jun 20, 2021
VC-Music , Playing music without bot.

VC-Userbot A Telegram Userbot to play or streaming Audio and Video songs / files in Telegram Voice Chats. It's made with PyTgCalls and Pyrogram Requir

RioProjectX 8 Aug 04, 2022
QuickStart specific rules for cfn-python-lint

AWS Quick Start cfn-lint rules This repo provides CloudFormation linting rules specific to AWS Quick Start guidelines, for more information see the Co

AWS Quick Start 12 Jul 30, 2022
Discord bot built using Python. through this you can get information about the upcoming matches, scoreboard, live score

IPL-bot This is a Discord bot built using Python. through this you can get information about the upcoming matches, scoreboard, live score, and many mo

0 Dec 23, 2021
Lamblayer: a minimal deployment tool for AWS Lambda layers

lamblayer lamblayer is a minimal deployment tool for AWS Lambda layers. lamblayer does, Create a Layers of built pip-installable python packages. Crea

Yusuke Takahashi 2 Aug 19, 2022
A simple way to create a request to the coinpayment API with a valid HMAC using your private key and command

Coinpayments Verify TXID Created for Astral Discord bot A simple way to create a request to the coinpayment API with a valid HMAC using your private k

HellSec 1 Nov 07, 2022
ML-Test-Client

ML-Test-Client Introduction What is this? This Test Client App is to be used to crowd-test machine learning models with the goal of finding the best c

11 Jul 15, 2022
A Python implementation of a Youtube Subscription manager & feed viewer, also does thumbnails

BUILDING Building requires python3.10, and the build package, which can be installed via pip: python3.10 -m pip install build To install, run python3.

2 Feb 28, 2022
Simple Discord bot which logs several events in your server

logging-bot Simple Discord bot which logs several events in your server, including: Message Edits Message Deletes Role Adds Role Removes Member joins

1 Feb 14, 2022
A Telegram bot that add a dynamic caption to musics

Music Channel Manager A Telegram bot that add a dynamic caption to musics Deploy to Heroku What is it ? It manage your music channel. With just adding

13 Oct 18, 2022
A Python implementation of a discord bot that acts as a server scanner similar to Copenheimer.

Bad Copenheimer A Python impelentation of a discord bot that acts as a server scanner. This is a discord bot that will scan ip adresses to see if they

pilot1782 69 Dec 16, 2022
GitPython is a python library used to interact with Git repositories.

Gitoxide: A peek into the future… I started working on GitPython in 2009, back in the days when Python was 'my thing' and I had great plans with it. O

3.8k Jan 03, 2023
A simple message content sniping Discord bot which you can run yourself! Sniping API pulled from isobot and Arch bot

Discord Snipe Bot This is a bot made with the same message content sniping API from isobot and Arch bot. It's default prefix is -, however you can als

notsniped 5 Aug 11, 2022
A zero-dependency Python library for getting the Kubernetes token of a AWS EKS cluster

tokeks A zero-dependency Python library for getting the Kubernetes token of a AWS EKS cluster. No AWS CLI, third-party client or library (boto3, botoc

Chris Karageorgiou Kaneen 6 Nov 04, 2022
One destination for all the developer's learning resources.

DevResources One destination for all the developer's learning resources. Find all of your learning resources under one roof and add your own. Live ✨ Y

Gaurav Sharma 33 Oct 21, 2022