Member Models#

class interactions.api.models.member.Member(kwargs_dict=None, /, **other_kwargs)[source]#

A class object representing the user of a guild, known as a “member.”

Note

pending and permissions only apply for members retroactively requiring to verify rules via. membership screening or lack permissions to speak.

Variables:
  • user (User) – The user of the guild.

  • nick (str) – The nickname of the member.

  • avatar (Optional[str]) – The hash containing the user’s guild avatar, if applicable.

  • roles (List[int]) – The list of roles of the member.

  • joined_at (datetime) – The timestamp the member joined the guild at.

  • premium_since (datetime) – The timestamp the member has been a server booster since.

  • deaf (bool) – Whether the member is deafened.

  • mute (bool) – Whether the member is muted.

  • pending (Optional[bool]) – Whether the member is pending to pass membership screening.

  • permissions (Optional[Permissions]) – Whether the member has permissions.

  • communication_disabled_until (Optional[str]) – How long until they’re unmuted, if any.

property voice_state: Optional[VoiceState]#

New in version 4.4.0.

Returns the current voice state of the member, if any.

Return type:

VoiceState

property guild: Optional[Guild]#

New in version 4.4.0.

Attempts to get the guild the member is in. Only works then roles or nick or joined at is present and the guild is cached.

Returns:

The guild this member belongs to.

Return type:

Guild

property guild_id: Optional[Union[Snowflake, LibraryException]]#

New in version 4.3.2.

Attempts to get the guild ID the member is in. Only works when roles or nick or joined at is present and the guild is cached.

Returns:

The ID of the guild this member belongs to.

Return type:

Optional[Union[Snowflake, LibraryException]]

property avatar: Optional[str]#

Returns the user’s avatar hash, if any.

property id: Snowflake#

New in version 4.1.0.

Returns the ID of the user.

Returns:

The ID of the user

Return type:

Snowflake

property mention: str#

New in version 4.1.0.

Returns a string that allows you to mention the given member.

Returns:

The string of the mentioned member.

Return type:

str

property name: str#

New in version 4.2.0.

Returns the string of either the user’s nickname or username.

Returns:

The name of the member

Return type:

str

async ban(guild_id=<interactions.MISSING>, seconds=0, minutes=<interactions.MISSING>, hours=<interactions.MISSING>, days=<interactions.MISSING>, reason=None)[source]#

New in version 4.0.2.

Changed in version 4.3.2: Method has been aligned to changes in the Discord API. You can now input days, hours, minutes and seconds, as long as it doesn’t exceed 604800 seconds in total for deleting messages, instead of only days.

Changed in version 4.3.2: guild_id is no longer required

Bans the member from a guild.

Parameters:
  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to ban the member from

  • seconds (Optional[int]) – Number of seconds to delete messages, from 0 to 604800. Defaults to 0

  • minutes (Optional[int]) – Number of minutes to delete messages, from 0 to 10080

  • hours (Optional[int]) – Number of hours to delete messages, from 0 to 168

  • days (Optional[int]) – Number of days to delete messages, from 0 to 7

  • reason (Optional[str]) – The reason of the ban

async kick(guild_id=<interactions.MISSING>, reason=None)[source]#

New in version 4.0.2.

Changed in version 4.3.2: guild_id is no longer required.

Kicks the member from a guild.

Parameters:
  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to kick the member from

  • reason (Optional[str]) – The reason for the kick

async add_role(role, guild_id=<interactions.MISSING>, reason=None)[source]#

New in version 4.0.2.

Changed in version 4.3.2: guild_id is no longer required.

This method adds a role to a member.

Parameters:
  • role (Union[Role, int, Snowflake]) – The role to add. Either Role object or role_id

  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to add the roles to the member

  • reason (Optional[str]) – The reason why the roles are added

async remove_role(role, guild_id=<interactions.MISSING>, reason=None)[source]#

New in version 4.0.2.

Changed in version 4.3.2: guild_id is no longer required.

This method removes a role from a member.

Parameters:
  • role (Union[Role, int]) – The role to remove. Either Role object or role_id

  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to remove the roles of the member

  • reason (Optional[str]) – The reason why the roles are removed

async send(content=<interactions.MISSING>, *, components=<interactions.MISSING>, tts=<interactions.MISSING>, attachments=<interactions.MISSING>, files=<interactions.MISSING>, embeds=<interactions.MISSING>, allowed_mentions=<interactions.MISSING>)[source]#

New in version 4.0.2.

Sends a DM to the member.

Parameters:
  • content (Optional[str]) – The contents of the message as a string or string-converted value.

  • components (Optional[Union[ActionRow, Button, SelectMenu, List[ActionRow], List[Button], List[SelectMenu]]]) – A component, or list of components for the message.

  • tts (Optional[bool]) – Whether the message utilizes the text-to-speech Discord programme or not.

  • attachments (Optional[List[Attachment]]) –

    New in version 4.3.0.

    The attachments to attach to the message. Needs to be uploaded to the CDN first

  • files (Optional[Union[File, List[File]]]) –

    New in version 4.2.0.

    A file or list of files to be attached to the message.

  • embeds (Optional[Union[Embed, List[Embed]]]) – An embed, or list of embeds for the message.

  • allowed_mentions (Optional[Union[AllowedMentions, dict]]) – The allowed mentions for the message.

Returns:

The sent message as an object.

Return type:

Message

async modify(guild_id=<interactions.MISSING>, nick=<interactions.MISSING>, roles=<interactions.MISSING>, mute=<interactions.MISSING>, deaf=<interactions.MISSING>, channel_id=<interactions.MISSING>, communication_disabled_until=<interactions.MISSING>, reason=None)[source]#

New in version 4.0.2.

Changed in version 4.3.2: guild_id is no longer required.

Modifies the member of a guild.

Parameters:
  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to modify the member on

  • nick (Optional[str]) – The nickname of the member

  • roles (Optional[List[int]]) – A list of all role ids the member has

  • mute (Optional[bool]) – whether the user is muted in voice channels

  • deaf (Optional[bool]) – whether the user is deafened in voice channels

  • channel_id (Optional[Union[Channel, int, Snowflake]]) – id of channel to move user to (if they are connected to voice)

  • communication_disabled_until (Optional[datetime.isoformat]) – when the user’s timeout will expire and the user will be able to communicate in the guild again (up to 28 days in the future)

  • reason (Optional[str]) – The reason of the modifying

Returns:

The modified member object

Return type:

Member

async add_to_thread(thread_id)[source]#

New in version 4.0.2.

Adds the member to a thread.

Parameters:

thread_id (Union[int, Snowflake, Channel]) – The id of the thread to add the member to

get_avatar_url(guild_id=<interactions.MISSING>)[source]#

New in version 4.2.0.

Changed in version 4.3.0: Has been renamed to get_avatar_url instead of get_member_avatar_url

Changed in version 4.3.2: guild_id is no longer required.

Returns the URL of the member’s avatar for the specified guild.

Parameters:

guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild to get the member’s avatar from

Returns:

URL of the members’s avatar (None will be returned if no avatar is set)

Return type:

str

async get_guild_permissions(guild_id=<interactions.MISSING>)[source]#

New in version 4.3.2.

Returns the permissions of the member for the specified guild.

Note

The permissions returned by this function will not take into account role and user overwrites that can be assigned to channels or categories. If you need these overwrites, look into Channel.get_permissions_for().

Parameters:

guild (Guild) – The guild of the member

Returns:

Base permissions of the member in the specified guild

Return type:

Permissions

async has_permissions(*permissions, channel=<interactions.MISSING>, guild_id=<interactions.MISSING>, operator='and')[source]#

New in version 4.3.2.

Returns whether the member has the permissions passed.

Note

If the channel argument is present, the function will look if the member has the permissions in the specified channel. If the argument is missing, then it will only consider the member’s guild permissions.

Parameters:
  • *permissions (Union[int, Permissions]) – The list of permissions

  • channel (Channel) – The channel where to check for permissions

  • guild_id (Optional[Union[int, Snowflake, Guild]]) – The id of the guild

  • operator (Optional[str]) – The operator to use to calculate permissions. Possible values: and, or. Defaults to and.

Returns:

Whether the member has the permissions

Return type:

bool