Influencer Panel - members holding a role the admin chose add THEIR OWN stream from a panel posted in Discord, and Noti posts their lives, videos and posts with the server's settings.

The admin sets, per platform, the channel and ping role (and a second channel/role for videos or posts where the platform has them), the live role, a log channel, a "verified" role given while a member has an active stream, and how many accounts one member may add per platform. Influencer streams count toward the server's own per-platform limit; the per-member cap never raises it.

A member who loses every required role, or leaves, has their streams PAUSED (the creator is untracked and the slot freed); getting the role back resumes them while there is room. A stream that cannot come back stays paused with reason limit.

Tiers: free - one required role, cap 1. Premium - up to 3 required roles, cap up to 3, approvals, member text. Premium Plus - up to 10 required roles, the full panel editor, the Live Now board, webhook identity, cap up to 5. data.access from getGuildInfluencerPanel says what the server may set; a setting above it is refused with 403.

Behind the influencerPanel launch flag: every method answers 403 until it is beta/public for the caller, and 403 when the server's plan lacks the Influencer Panel.

Constructors

Methods

  • Remove a stream: the creator is untracked and the member is told in the log channel.

    Parameters

    • __namedParameters: {
          auth: string;
          entryId: string;
          guildId: string;
      }
      • auth: string
      • entryId: string
      • guildId: string

    Returns Promise<WebResponse<{
        entryId: string;
    }>>

  • Act on one stream: pause (active only), resume (paused only - goes through the server's limit again), approve or deny (pending only; reason is sent to the member). 404 when it is not this server's, 409 while the member's streams are being changed.

    Parameters

    • __namedParameters: {
          action: InfluencerEntryAction;
          auth: string;
          entryId: string;
          guildId: string;
          reason?: string;
      }

    Returns Promise<WebResponse<{
        entry: GuildInfluencerEntry;
    }>>

  • Change the setup, field by field - omit one to leave it unchanged. platforms upserts the platforms listed and leaves the others alone.

    400 names the problem: a bad id, a platform switched on without a channel, a setting the platform does not have, or a channel/role Noti cannot use. 403 for a setting above the plan. Turning a Premium setting OFF is always accepted.

    After saving, every active influencer stream is updated to the new settings (and paused where its platform went off), a posted panel and board are redrawn, and switching the panel back on resumes what switching it off paused. applied, panelError and boardError report that.

    Parameters

    Returns Promise<WebResponse<GuildInfluencerPanelUpdateData>>