Commit Graph
160 Commits
Author SHA1 Message Date
Gnome! 093a38527d Fix slash command prefix to / (#75) 2021-09-25 22:40:35 -07:00
1957fa6011 Implement a least breaking approach to slash commands (#39)
* Most slash command support completed, needs some debugging (and reindent)

* Implement a ctx.send helper for slash commands

* Add group command support

* Add Option converter, fix default optional, fix help command

* Add client.setup and move readying commands to that

* Implement _FakeSlashMessage.from_interaction

* Rename normmal_command to message_command

* Add docs for added params

* Add slash_command_guilds to bot and decos

* Fix merge conflict

* Remove name from commands.Option, wasn't used

* Move slash command processing to BotBase.process_slash_commands

* Create slash_only.py

Basic example for slash commands

* Create slash_and_message.py

Basic example for mixed commands

* Fix slash_command and normal_command bools

* Add some basic error handling for registration

* Fixed converter upload errors

* Fix some logic and make an actual example

* Thanks Safety Jim

* docstrings, *args, and error changes

* Add proper literal support

* Add basic documentation on slash commands

* Fix non-slash command interactions

* Fix ctx.reply in slash command context

* Fix typing on Context.reply

* Fix multiple optional argument sorting

* Update ctx.message docs to mention error instead of warning

* Move slash command creation to BotBase

* Fix code style issues with Black

* Rearrange some stuff and add flag support

* Change some errors and fix interaction.channel fixing

* Fix slash command quoting for *args

Co-authored-by: iDutchy <42503862+iDutchy@users.noreply.github.com>
Co-authored-by: Lint Action <lint-action@samuelmeuli.com>
2021-09-19 01:28:11 +02:00
Lint Action 7513c2138f Fix code style issues with Black 2021-09-05 21:34:20 +00:00
Gnome! 53a6b2cb45 Revert "Merge pull request #12" (#56)
This reverts commit 42c0a8d8a5.
2021-09-05 10:37:51 -07:00
chillymosh 42c0a8d8a5 Merge pull request #12
* Clean up python

* Clean up bot python

* revert lists

* revert commands.bot completely

* extract raise_expected_coro further

* add new lines

* removed erroneous import

* remove hashed line
2021-09-02 12:32:46 -07:00
Arthur 092fbca08f Merge pull request #21
* [BREAKING] Make case_insensitive default to True on groups and commands
2021-09-02 12:28:03 -07:00
Arthur 13834d1147 Merge pull request #7
* Add try_user to get a user from cache or from the gateway.

* Extract populate_owners into a new coroutine.

* Add a try_owners coroutine to get a list of owners of the bot.

* Fix coding-style.

* Fix a bug where None would be returned in try_owners if the cache was…

* Fix docstring

* Add spacing in the code
2021-09-02 12:24:52 -07:00
Gnome 6e41bd2219 Remove intents.default and make intents a required parameter 2021-08-31 20:53:54 +01:00
Willy fa5a2188bb Copy docs from Client.close() to Bot.close() 2021-08-20 20:06:51 -04:00
Josh f3cb197429 [commands][types] Type hint commands-ext 2021-08-19 19:51:26 -04:00
thetimtoy c4ee9dcafa [commands] Return removed cog in Bot.remove_cog
The method now returns the removed cog, if it exists.
2021-08-18 00:39:54 -04:00
Rapptz f56543df15 [commands] Remove function call indirection when checking author 2021-05-25 20:53:44 -04:00
Tari 36cf3c94b4 [commands] Remove Bot.self_bot 2021-05-25 20:46:26 -04:00
JoshandRiley Shaw 3864fb37a0 Fix various reference issues in documentation
Co-Authored-By: Riley Shaw <30989490+ShineyDev@users.noreply.github.com>
2021-05-06 07:51:07 -04:00
Sebastian Law 4134a17a29 [commands] Raise error when a cog name is already registered 2021-04-08 22:04:10 -04:00
Rapptz 99fc950510 Use f-strings in more places that were missed. 2021-04-08 06:02:47 -04:00
pikaninja 1c553f51fb [commands] Use has_error_handler instead in command_error 2021-04-07 23:42:52 -04:00
Nadir Chowdhury 89456022cf Add __all__ to remaining modules 2021-04-07 02:30:32 -04:00
Rapptz 9d39b135f4 Modernize code to use f-strings
This also removes the encoding on the top, since Python 3 does it by
default. It also changes some methods to use `yield from`.
2021-04-04 07:03:53 -04:00
Rapptz 862d509d2e [commands] Add support for stripping whitespace after the prefix
This is configured with the strip_after_prefix option in `Bot.__init__`
2021-03-28 21:21:09 -04:00
Nadir Chowdhury 63ec23bac2 Code optimisations and refactoring via Sourcery 2021-02-24 21:26:51 -05:00
Kaylynn Morgan 1cbc537734 [commands] Allow relative paths when handling extensions 2021-02-23 03:29:04 -05:00
Nihaal Sangha 69bdc3a184 Change copyright year to present 2021-01-15 05:28:11 -05:00
Nadir Chowdhury 6b803acde4 [chore] Remove redundant imports
This also removes the historical patch for NullHandler implemented in bbf1c54, as it has been available since Python 3.1.
2020-11-28 03:16:49 -05:00
Jaime Garcia Jr 1c3b0c02f8 Add revisions to check_once docs 2020-07-24 09:18:42 -05:00
Sebastian Law b4b953bfc6 Fix various inconsistencies within the documentation (#5067) 2020-06-28 03:45:58 -04:00
Rapptz 874c2cd3c9 [commands] Raise CheckFailure if all bot "check once" fail
Fix #2643
2020-04-06 21:45:16 -04:00
Karthikeyan Singaravelan 25b8adc404 Import ABC from collections.abc instead of collections
This is for Python 3.9 compatibility.
2020-01-25 21:46:33 -05:00
Harmon 6f9793fe5e Fixes and improvements for v1.3 documentation
* Add missing versionadded strings for v1.3
* Add missing versionchanged string for Message.edit
* Consistently use versionadded for attributes
* Consistently use versionchanged for parameters
* Use versionchanged for Bot.is_owner
* Fix references in v1.3 changelog
* Improve grammar in v1.3 changelog
2020-01-22 23:55:05 -05:00
Rapptz 6071607176 Bump copyright year to 2020
Closes #2510
2020-01-19 20:03:00 -05:00
Ben Mintz 1dddb66a1e [commands] default Bot.owner_ids to a set
This appears to be a typo, as everywhere else, owner_ids is set to a set.
2019-09-10 21:10:59 -04:00
Rapptz dd12fbf73d [commands] Properly load the original module when reloading fails.
Fix #2291
2019-07-27 22:37:55 -04:00
Benjamin Mintz 042a234eac [commands] update sys.modules in load_extension again
6f71552c50 introduced a regression: loading a module that is not in a package
does not add it to sys.modules. Updating sys.modules is required after all.
2019-07-18 18:06:43 -04:00
ed588 c6133ef881 [commands] Bot.is_owner should be marked as coroutine 2019-07-18 18:06:27 -04:00
Rapptz 6f71552c50 [commands] Don't update sys.modules with a stale reference. 2019-07-07 20:17:44 -04:00
Rapptz 68342db04d [commands] Properly raise the correct exception for owner_ids
Also some minor nits with documentation.
2019-06-29 19:26:45 -04:00
Benjamin Mintz 0a21591d0c [commands] Don't raise ExtensionNotFound for ImportErrors in modules
Now loading an extension that _contains_ a failed import will fail
with ExtensionFailed, rather than ExtensionNotFound.
2019-06-29 19:15:05 -04:00
fourjr 3961e7ef6d Support team members data in application info 2019-06-29 19:14:24 -04:00
NCPlayz 3c9bcc2851 Improve documentation 2019-06-07 19:27:46 -04:00
Rapptz 82b54933e2 Add asyncio.Task subclass for better __repr__ for events. 2019-05-19 19:17:29 -04:00
sirtezza451 dbe946a767 [commands] Update default on_command_error 2019-04-18 07:58:28 -04:00
Rapptz 50dcdac5ca [commands] Fix references in Bot to actually link.
Exceptions can't seem to link due to a bug in Sphinx.
2019-04-10 05:13:30 -04:00
Rapptz aeabd0761e [commands] Raise TypeError instead of ClientException in some places
Certain decorators and functions expect coroutines and raise an
exception when this is not met. Change these to raise the appropriate
TypeError since they can't actually be handled by the user gracefully
anyway.
2019-04-07 22:31:05 -04:00
Rapptz e567b59fea [commands] Double underscore some attributes. 2019-03-24 14:33:51 -04:00
Rapptz c30a366106 Try to consistently use "inherit" vs "derive" in documentation. 2019-03-19 09:23:12 -04:00
Rapptz d9e54d7dd3 [commands] Redesign extension exception flow.
Instead of raising a whole variety of exceptions, they are now wrapped
into ExtensionError derived classes.

* ExtensionAlreadyLoaded
	* Raised when an extension is already loaded in Bot.load_extension
* ExtensionNotLoaded
	* Raised when an extension is not loaded, e.g. Bot.unload_extension
* NoEntryPointError
	* Raised when an extension does not have a `setup` function.
* ExtensionFailed
	* Raised when an extension's `setup` function fails.
* ExtensionNotFound
	* Raised when an extension's module import fails.
2019-03-19 09:23:11 -04:00
Rapptz 26e9b5bfac [commands] Add Bot.reload_extension for atomic loading.
Also do atomic loading in Bot.load_extension
2019-03-19 09:23:10 -04:00
NCPlayz fb02191b80 Organise documentation 2019-03-19 08:24:42 -04:00
Rapptz f26a27dc98 [commands] Make Bot.cogs and Bot.extensions read-only mappings.
This also has the side effect of effectively documenting them for
public use.
2019-03-17 14:53:56 -04:00
Rapptz 3527203e07 [commands] Redesign HelpFormatter into HelpCommand
Part of #1938
2019-03-15 05:54:23 -04:00