Minecraft - game servers connected to a Discord server (Noti-v3 phases/in-game/).

A server running the Noti plugin with no token prints a code (K7P-2QX) to its console. The owner enters it here (createInGameServer), which connects that server to this Discord server and returns its token ONCE; the plugin receives it automatically while it is waiting (delivered: true); otherwise the dashboard shows it once ("paste into plugins/Noti/token.txt").

The plan sets how many servers stay ACTIVE (limits.servers: free 1, Premium 3, Premium Plus 10). A network that shares one token counts once. Over the limit (after a downgrade) the rest are kept but paused: pinned servers first, then the oldest, stay active - active on each server says which. An upgrade brings them back.

Behind the inGame launch flag: every method answers 403 until it is beta/public for the caller.

Constructors

Methods

  • An admin ends a cooldown early (P11), by member or by Minecraft account. 404 when nothing is cooling down.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          userId?: string;
          uuid?: string;
      }
      • auth: string
      • guildId: string
      • OptionaluserId?: string
      • Optionaluuid?: string

    Returns Promise<WebResponse<{
        lifted: true;
    }>>

  • Redeem the code a server printed. Case, spaces and the dash do not matter. Returns the new server and its token, which is never shown again. 400 when the code is wrong, expired or already used ("Run /noti connect for a new one"); 403 with { message, limit, current } inside error when the plan cannot connect another.

    Parameters

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

    Returns Promise<WebResponse<InGameServerCreatedData>>

  • An admin unlinks a member (P11) - the way out of a locked link. Same effects as the member's own unlink (the link role comes off, an unpaid link reward is dropped), and it starts the cooldown; lift it if the change is genuine. 404 when the member has no link here.

    Parameters

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

    Returns Promise<WebResponse<InGameLinkDeletedData>>

  • Every creator, for the "Choose what shows in Minecraft" picker: whether it has a Discord channel (a creator with none can never show in Minecraft - say so next to it), what shows today, and the types its platform has.

    Parameters

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

    Returns Promise<WebResponse<InGameCreatorsData>>

  • The link history (P11), newest first, 50 a page: every link, relink, unlink, admin unlink and cooldown lift in this server, with which admin did the admin ones. userId / uuid narrow it to one member or one Minecraft account.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          page?: number;
          userId?: string;
          uuid?: string;
      }
      • auth: string
      • guildId: string
      • Optionalpage?: number
      • OptionaluserId?: string
      • Optionaluuid?: string

    Returns Promise<WebResponse<InGameLinkEventsData>>

  • Linked members (in-game P11), newest first, 50 a page (page from 0). search matches the Minecraft name or the Discord name.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          page?: number;
          search?: string;
      }
      • auth: string
      • guildId: string
      • Optionalpage?: number
      • Optionalsearch?: string

    Returns Promise<WebResponse<InGameLinksData>>

  • Minecraft giveaway prizes (in-game P7): one row per winner who linked a Minecraft account, and where it stands - pending (waiting for the winner to be online on the paying server), claimed (a node is running it), done, or failed (with the plugin's reason, e.g. an unknown preset). giveawayId narrows it to one giveaway. paused: the server lost InGameRewards, so stored presets are kept but nothing new is paid.

    Parameters

    • __namedParameters: {
          auth: string;
          giveawayId?: string;
          guildId: string;
      }
      • auth: string
      • OptionalgiveawayId?: string
      • guildId: string

    Returns Promise<WebResponse<InGameRewardsData>>

  • What linking a Minecraft account gives in this Discord server (in-game P10): a Discord role (free) and a rewards.yml preset run once in game (Premium, rewards). The role is given on link, removed on unlink and given back when a linked member rejoins. The reward is paid once per Minecraft account AND once per Discord user, ever. linkRoleError is the last time giving or removing the role failed, worded for the owner.

    Parameters

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

    Returns Promise<WebResponse<InGameSettingsData>>

  • Replace the server's token; the old one stops working at once. The new token is returned ONCE.

    Parameters

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

    Returns Promise<WebResponse<InGameTokenData>>

  • "Send a test alert": a sample event through the real connection, shown to the server's admins in-game. 409 when the server is not connected right now; 403 with the vote-gate error when the caller must vote first; 429 with retryAfterSeconds inside error when tests are sent too quickly (count down from it).

    Parameters

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

    Returns Promise<WebResponse<InGameTestData>>

  • "Sync roles": every linked member gets the link role, and every member who has it WITHOUT a link loses it - including ones an admin gave it to by hand (confirm that first). Never touches rewards. 400 with no link role, 429 when synced in the last few minutes.

    Parameters

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

    Returns Promise<WebResponse<InGameLinkRoleSyncData>>

  • Rename a server, or pin it so it stays active ahead of older ones when the server is over its plan limit. Send either or both. Returns the whole list again (pinning can change which others are active). 404 when it is not this Discord server's.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          name?: string;
          pinned?: boolean;
          serverId: string;
      }
      • auth: string
      • guildId: string
      • Optionalname?: string
      • Optionalpinned?: boolean
      • serverId: string

    Returns Promise<WebResponse<InGameServersData>>

  • Change any of the three; null clears one. A role is checked first (400 with the reason: Manage Roles, above Noti's role, managed, @everyone). A preset needs Premium (403 "Minecraft rewards need Premium."). Changing the role does not touch who has the old or new one - offer syncInGameLinkRole after.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          joinOnLink?: boolean;
          linkCooldownDays?: null | number;
          linkLock?: boolean;
          linkLogChannelId?: null | string;
          linkRewardPreset?: null | string;
          linkRewardServerId?: null | string;
          linkRoleId?: null | string;
      }
      • auth: string
      • guildId: string
      • OptionaljoinOnLink?: boolean
      • OptionallinkCooldownDays?: null | number
      • OptionallinkLock?: boolean
      • OptionallinkLogChannelId?: null | string
      • OptionallinkRewardPreset?: null | string
      • OptionallinkRewardServerId?: null | string
      • OptionallinkRoleId?: null | string

    Returns Promise<WebResponse<InGameSettingsData>>