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)

Telegram Group Chat Statistics With Python

Telegram Group Chat Statistics How to Run First add PYTHONPATH in repository root directory enviroment variable by running: export PYTHONPATH=${PWD}

Sina Nazem 3 Apr 18, 2022
A community made discord bot coded in Python and running on AWS.

Pogbot Project Open Group Discord This is an open source community ran project. Join the discord for more information on how to participate. Coded in

Project Open Group 2 Jul 27, 2022
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
Fix Twitter video embeds in Discord

TwitFix very basic flask server that fixes twitter embeds in discord by using youtube-dl to grab the direct link to the MP4 file and embeds the link t

Robin Universe 682 Dec 28, 2022
Auto filter bot for python

Media Search bot Index channel or group files for inline search. When you post file on telegram channel or group this bot will save that file in datab

1 Dec 22, 2021
⚡TIKTOK BOT - FAST OPTIMIZED ZEFOY SCRIPT

⚡ ZEFOY [ TikTok Zefoy Bot ] Get the script in: discord.gg/onlp !! Official shop: onlp.sellix.io Newest version v.9.0.0 Requirements pip install p

Tekky 186 Dec 31, 2022
PYthon Warframe Market API(pywmapi)

pywmapi PYthon Warframe Market API(pywmapi) API for warframe market, written in Python. For now, the implemented function is listed below: auth sign i

AyajiLin 7 Dec 11, 2022
Aria & Qbittorent Mirror Bot

Eunha Mirror Eunha Mirror is a multipurpose Telegram Bot writen in Python for mirroring files on the Internet to our beloved Google Drive. Features su

ovin 158 Dec 19, 2022
Morpheus is a telegram bot that helps to simplify the process of making custom telegram stickers.

😎 Morpheus is a telegram bot that helps to simplify the process of making custom telegram stickers. As you may know, Telegram's official Sti

Abhijith K S 1 Dec 14, 2022
ANKIT-OS/TG-SESSION-GENERATOR-BOTbisTG-SESSION-GENERATOR-BOT a special repository. Its Is A Telegram Bot To Generate String Session

ANKIT-OS/TG-SESSION-GENERATOR-BOTbisTG-SESSION-GENERATOR-BOT a special repository. Its Is A Telegram Bot To Generate String Session

ANKIT KUMAR 1 Dec 26, 2021
A Recommendation System For Diabetes Detection And Treatment

Diabetes-detection-tg-bot A Recommendation System For Diabetes Detection And Treatment Данная система помогает определить наличие или отсутствие сахар

Alexander Kanonirov 1 Nov 22, 2021
A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create custom messages by telling the bot with Commands.

A discord Server Bot made with Python, This bot helps people feel better by inspiring them with motivational quotes or by responding with a great message, also the users of the server can create cust

Aran 1 Oct 13, 2021
📷 Instagram Bot - Tool for automated Instagram interactions

InstaPy Tooling that automates your social media interactions to “farm” Likes, Comments, and Followers on Instagram Implemented in Python using the Se

Tim Großmann 13.5k Dec 01, 2021
Ap lokit lokit

🎵 FANDA MUSIC BOT Fanda Music adalah proyek bot telegram yang memungkinkan Anda memutar musik di obrolan suara grup telegram. a href="https://www.py

Fatur 2 Nov 18, 2021
A Python Program to determine Degree of Profanity of Tweets

tweetx tweetx is a program to detect racial slurs in Twitter Tweets. Racial Abuse on Twitter is becoming quite a serious issue in recent times. tweetx

Kartik Poojari 3 Nov 11, 2021
ApiMoedas - This API is a extesion of API

🪙 Api Moeda 🪙 Este projeto é uma extensão da API Awesome API. Basicamente, ele mostra todas as moedas que a Awesome API tem e todas as suas conversõ

Abel 4 May 29, 2022
A Anything goes Discord bot written in python and uses the wrapper Discord.py

GerardTheWizard A Anything goes Discord bot written in python and uses the wrapper Discord.py What can he do? Allow users to level up through typing,

1 May 05, 2022
This is a Telegram Bot that tracks packages from the Brazilian Mail Service.

RastreioBot About Setup Run Contribute Contact About This is a Telegram Bot that tracks packages from the Brazilian Mail Service. It runs on Python 3

Gabriel R F 320 Dec 22, 2022
One of the best Telegram renamer bot with many new features

Renamer-Bot I think this repo gonna become one of the best renamer open source 🥰 . Please Give a ⭐ if you like this repo and also try following me fo

Ns Bots 97 Jan 06, 2023
Discord heximals: More colors for your bot

DISCORD-HEXIMALS More colors for your bot ! Support : okimii#0434 COLORS ( 742 )

4 Feb 04, 2022