A Discord.py extension allowing you to pass flags as arguments.
Project description
This is an alternative to XuaTheGrate/Flag-Parsing, which is not maintained.
⚠ Please be sure to read the entire README, it explains some important tricks.
Flag Parsing
A util for discord.py bots that allow passing flags into commands.
To install, run the following command:
pip install alt-discord-flags
2.1.0 changes how signatures appear. If you wish to use
the legacy signatures, use command.old_signature instead.
Basic example usage:
import discord
from discord.ext import flags, commands
bot = commands.Bot("!")
# Invocation: !flags --count=5 --string "hello world" --user Xua --thing y
@flags.add_flag("--count", type=int, default=10)
@flags.add_flag("--string", default="hello!")
@flags.add_flag("--user", type=discord.User)
@flags.add_flag("--thing", type=bool)
@flags.command()
async def flags(ctx, **flags):
await ctx.send("--count={count!r}, --string={string!r}, --user={user!r}, --thing={thing!r}".format(**flags))
bot.add_command(flags)
Important note that @flags.command MUST be under all @flags.add_flag
decorators.
@flags.add_flag takes the same arguments as argparse.ArgumentParser.add_argument
to keep things simple.
Subcommands are just as simple:
@commands.group()
async def my_group(ctx):
...
@flags.add_flag("-n")
@my_group.command(cls=flags.FlagCommand)
async def my_subcommand(ctx, **flags):
...
Usage of discord.py's consume rest behaviour is not perfect with discord-flags,
meaning that you have to use a flag workaround:
@flags.add_flag("message", nargs="+")
@flags.command()
async def my_command(ctx, arg1, **options):
""" You can now access `message` via `options['message']` """
message = ' '.join(options['message'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alt-discord-flags-0.0.5.tar.gz.
File metadata
- Download URL: alt-discord-flags-0.0.5.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333bf26d32da38d3160fd63e7c11cde1e1909db1532b3ef94f3f60ff02216ead
|
|
| MD5 |
d2f6c6ef26a2f18efd202a41bb62ea6a
|
|
| BLAKE2b-256 |
ce1ed08c0178dbce6b8fec77a8580e2aea7f001d01716fc6af0b6bd7658ecd1c
|
File details
Details for the file alt_discord_flags-0.0.5-py3-none-any.whl.
File metadata
- Download URL: alt_discord_flags-0.0.5-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f48e24805927c033c2c3ed077a881ea5b36e6bea2dbfd8e20a15e2de58fe248a
|
|
| MD5 |
3a6c2ef2b39f64a6bf1868e68e901668
|
|
| BLAKE2b-256 |
55b473458536104be4412effaf49c4201aacb23e6343d3254f6a3d73fa13586d
|