https://github.com/kenny2github/discord-ext-slash
UNMAINTAINED, use discord.py - Support slash commands with an extension to Rapptz/discord.py
https://github.com/kenny2github/discord-ext-slash
discord discord-bot discord-py slash-commands
Last synced: about 1 year ago
JSON representation
UNMAINTAINED, use discord.py - Support slash commands with an extension to Rapptz/discord.py
- Host: GitHub
- URL: https://github.com/kenny2github/discord-ext-slash
- Owner: Kenny2github
- License: mit
- Archived: true
- Created: 2021-01-04T18:13:40.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T23:39:19.000Z (about 1 year ago)
- Last Synced: 2025-03-12T21:44:30.207Z (about 1 year ago)
- Topics: discord, discord-bot, discord-py, slash-commands
- Language: Python
- Homepage: https://pypi.org/project/discord-ext-slash/
- Size: 157 KB
- Stars: 15
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
⚠️ Archived
============
Please use the native features available in discord.py.
----
Support slash commands.
Example Usage
~~~~~~~~~~~~~
.. code-block:: python
from discord.ext import slash
client = slash.SlashBot(
# normal arguments to commands.Bot()
command_prefix='.', description="whatever",
# special option: modify all global commands to be
# actually guild commands for this guild instead,
# for the purposes of testing. Remove this argument
# or set it to None to make global commands be
# properly global - note that they take 1 hour to
# propagate. Useful because commands have to be
# re-registered if their API definitions are changed.
debug_guild=staging_guild_id
)
msg_opt = slash.Option(
# description of option, shown when filling in
description='Message to send',
# this means that the slash command will not be invoked
# if this argument is not specified
required=True)
@client.slash_cmd() # global slash command
async def repeat( # command name
ctx: slash.Context, # there MUST be one argument annotated with Context
message: msg_opt
):
"""Make the bot repeat what you say""" # description of command
# respond to the interaction, must be done within 3 seconds
await ctx.respond(message) # string (or str()able) message
client.run(token)
Notes
~~~~~
* ``discord.ext.slash.Context`` emulates
``discord.ext.commands.Context``, but only to a certain extent.
Notably, ``ctx.message`` does not exist, because slash commands can be run
completely without the involvement of messages. However, channel and author
information is still available.
* All descriptions are **required**.
* You must grant the bot ``applications.commands`` permissions in the OAuth2 section of the developer dashboard.
See the `docs `_.