29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# Command Argument Converters
|
||
|
||
`disagreement.ext.commands` provides a number of built in converters that will parse string arguments into richer objects. These converters are automatically used when a command callback annotates its parameters with one of the supported types.
|
||
|
||
## Supported Types
|
||
|
||
- `int`, `float`, `bool`, and `str`
|
||
- `Member` – resolves a user mention or ID to a `Member` object for the current guild
|
||
- `Role` – resolves a role mention or ID to a `Role` object
|
||
- `Guild` – resolves a guild ID to a `Guild` object
|
||
|
||
## Example
|
||
|
||
```python
|
||
from disagreement.ext.commands import command
|
||
from disagreement.ext.commands.core import CommandContext
|
||
from disagreement.models import Member
|
||
|
||
@command()
|
||
async def kick(ctx: CommandContext, target: Member):
|
||
await target.kick()
|
||
await ctx.send(f"Kicked {target.display_name}")
|
||
```
|
||
|
||
`Member.display_name` returns the member's nickname if one is set, otherwise it
|
||
falls back to the username.
|
||
|
||
The framework will automatically convert the first argument to a `Member` using the mention or ID provided by the user.
|