LiveContributorRelationship

class asyncpraw.models.reddit.live.LiveContributorRelationship(thread: asyncpraw.models.LiveThread)

Provide methods to interact with live threads’ contributors.

__call__() AsyncIterator[asyncpraw.models.Redditor]

Return a RedditorList for live threads’ contributors.

Usage:

thread = await reddit.live("ukaeu1ik4sw5")
async for contributor in thread.contributor():
    print(contributor)
__init__(thread: asyncpraw.models.LiveThread)

Initialize a LiveContributorRelationship instance.

Parameters:

thread – An instance of LiveThread.

Note

This class should not be initialized directly. Instead, obtain an instance via: LiveThread.contributor().

await accept_invite()

Accept an invite to contribute the live thread.

Usage:

thread = await reddit.live("ydwwxneu7vsa")
await thread.contributor.accept_invite()
await invite(redditor: str | asyncpraw.models.Redditor, *, permissions: List[str] | None = None)

Invite a redditor to be a contributor of the live thread.

Parameters:
  • redditor – A redditor name or Redditor instance.

  • permissions – When provided (not None), permissions should be a list of strings specifying which subset of permissions to grant. An empty list [] indicates no permissions, and when not provided (None), indicates full permissions.

Raises:

RedditAPIException if the invitation already exists.

Usage:

thread = await reddit.live("ukaeu1ik4sw5")
redditor = await reddit.redditor("spez", fetch=False)

# "manage" and "settings" permissions
await thread.contributor.invite(redditor, permissions=["manage", "settings"])

See also

LiveContributorRelationship.remove_invite() to remove the invite for redditor.

await leave()

Abdicate the live thread contributor position (use with care).

Usage:

thread = await reddit.live("ydwwxneu7vsa")
await thread.contributor.leave()
await remove(redditor: str | asyncpraw.models.Redditor)

Remove the redditor from the live thread contributors.

Parameters:

redditor – A redditor fullname (e.g., "t2_1w72") or Redditor instance.

Usage:

thread = await reddit.live("ukaeu1ik4sw5")
redditor = await reddit.redditor("spez", fetch=False)
await thread.contributor.remove(redditor)
await thread.contributor.remove("t2_1w72")  # with fullname
await remove_invite(redditor: str | asyncpraw.models.Redditor)

Remove the invite for redditor.

Parameters:

redditor – A redditor fullname (e.g., "t2_1w72") or Redditor instance.

Usage:

thread = await reddit.live("ukaeu1ik4sw5")
redditor = await reddit.redditor("spez", fetch=False)
await thread.contributor.remove_invite(redditor)
await thread.contributor.remove_invite("t2_1w72")  # with fullname

See also

LiveContributorRelationship.invite() to invite a redditor to be a contributor of the live thread.

await update(redditor: str | asyncpraw.models.Redditor, *, permissions: List[str] | None = None)

Update the contributor permissions for redditor.

Parameters:
  • redditor – A redditor name or Redditor instance.

  • permissions – When provided (not None), permissions should be a list of strings specifying which subset of permissions to grant (other permissions are removed). An empty list [] indicates no permissions, and when not provided (None), indicates full permissions.

For example, to grant all permissions to the contributor, try:

thread = await reddit.live("ukaeu1ik4sw5")
await thread.contributor.update("spez")

To grant "access" and "edit" permissions (and to remove other permissions), try:

await thread.contributor.update("spez", permissions=["access", "edit"])

To remove all permissions from the contributor, try:

await subreddit.moderator.update("spez", permissions=[])
await update_invite(redditor: str | asyncpraw.models.Redditor, *, permissions: List[str] | None = None)

Update the contributor invite permissions for redditor.

Parameters:
  • redditor – A redditor name or Redditor instance.

  • permissions – When provided (not None), permissions should be a list of strings specifying which subset of permissions to grant (other permissions are removed). An empty list [] indicates no permissions, and when not provided (None), indicates full permissions.

For example, to set all permissions to the invitation, try:

thread = await reddit.live("ukaeu1ik4sw5")
await thread.contributor.update_invite("spez")

To set "access" and "edit" permissions (and to remove other permissions) to the invitation, try:

await thread.contributor.update_invite("spez", permissions=["access", "edit"])

To remove all permissions from the invitation, try:

await thread.contributor.update_invite("spez", permissions=[])