Skip to content

flags

Flag converters for Discord bot commands.

This module provides specialized flag converters for various moderation and utility commands, extending Discord.py's flag system with enhanced boolean handling and case-insensitive parsing.

Classes:

Classes

TuxFlagConverter

Bases: FlagConverter

A commands.FlagConverter but that supports Boolean flags with empty body.

Parameters:

Returns:

Raises:

Notes

Based on https://github.com/DuckBot-Discord/DuckBot/blob/acf762485815e2298479ad3cb1ab8f290b35e2a2/utils/converters.py#L419

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

BanFlags

Bases: TuxFlagConverter

Flags for ban commands.

Attributes:

  • reason (str) –

    The reason for the ban (positional argument).

  • purge (int) –

    Days of messages to delete (0-7).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

TempBanFlags

Bases: TuxFlagConverter

Flags for temporary ban commands.

Attributes:

  • reason (str) –

    The reason for the ban (positional argument).

  • duration (float) –

    Length of the ban in seconds.

  • purge (int) –

    Days of messages to delete (0-7).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

UnbanFlags

Bases: TuxFlagConverter

Flags for unban commands.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

KickFlags

Bases: TuxFlagConverter

Flags for kick commands.

Attributes:

  • reason (str) –

    The reason for the kick (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

WarnFlags

Bases: TuxFlagConverter

Flags for warn commands.

Attributes:

  • reason (str) –

    The reason for the warning (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

TimeoutFlags

Bases: TuxFlagConverter

Flags for timeout commands.

Attributes:

  • reason (str) –

    The reason for the timeout (positional argument).

  • duration (str) –

    Length of the timeout (e.g. 1d, 1h).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

UntimeoutFlags

Bases: TuxFlagConverter

Flags for untimeout commands.

Attributes:

  • reason (str) –

    The reason for the timeout removal (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

JailFlags

Bases: TuxFlagConverter

Flags for jail commands.

Attributes:

  • reason (str) –

    The reason for the jail (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

UnjailFlags

Bases: TuxFlagConverter

Flags for unjail commands.

Attributes:

  • reason (str) –

    The reason for the jail removal (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

CasesViewFlags

Python
CasesViewFlags(*args: object, **kwargs: object)

Bases: TuxFlagConverter

Flags for viewing cases.

Attributes:

  • type (CaseType | None) –

    Type of case to view.

  • user (User | None) –

    User to view cases for.

  • moderator (User | None) –

    Moderator to view cases for.

Initialize CasesViewFlags with default values for None attributes.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

CaseModifyFlags

Python
CaseModifyFlags()

Bases: TuxFlagConverter

Flags for modifying cases.

Attributes:

  • status (bool | None) –

    Status of the case.

  • reason (str | None) –

    Modified reason.

Initialize CaseModifyFlags and validate that at least one field is provided.

Raises:

  • FlagError

    If neither status nor reason is provided.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

SnippetBanFlags

Bases: TuxFlagConverter

Flags for snippet ban commands.

Attributes:

  • reason (str) –

    The reason for the snippet ban (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

SnippetUnbanFlags

Bases: TuxFlagConverter

Flags for snippet unban commands.

Attributes:

  • reason (str) –

    The reason for the snippet unban (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

PollBanFlags

Bases: TuxFlagConverter

Flags for poll ban commands.

Attributes:

  • reason (str) –

    The reason for the poll ban (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

PollUnbanFlags

Bases: TuxFlagConverter

Flags for poll unban commands.

Attributes:

  • reason (str) –

    The reason for the poll unban (positional argument).

  • silent (bool) –

    Don't send a DM to the target.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

TldrFlags

Bases: TuxFlagConverter

Flags for tldr commands.

Attributes:

  • platform (str | None) –

    Platform (e.g. linux, osx, common).

  • language (str | None) –

    Language code (e.g. en, es, fr).

  • show_short (bool) –

    Display shortform options over longform.

  • show_long (bool) –

    Display longform options over shortform.

  • show_both (bool) –

    Display both short and long options.

Methods:

  • parse_flags

    Parse command arguments into flags with enhanced boolean handling.

Functions

parse_flags classmethod
Python
parse_flags(argument: str, *, ignore_extra: bool = True) -> dict[str, list[str]]

Parse command arguments into flags with enhanced boolean handling.

This method extends Discord.py's flag parsing to handle trailing boolean flags without explicit values (e.g., "-silent" becomes "-silent True").

Parameters:

  • argument (str) –

    The raw argument string to parse.

  • ignore_extra (bool, default: True ) –

    Whether to ignore extra arguments that aren't flags. Default is True.

Returns:

  • dict[str, list[str]]

    Dictionary mapping flag names to lists of their values.

Raises:

Functions