Reposition Emojis - reorder a server's emojis in Discord's emoji picker.

Discord has no reorder API: the picker lists a server's emojis oldest upload first. So Noti re-uploads the emojis that have to move, in the new order, and deletes the originals. Every re-uploaded emoji gets a new id: Noti updates its own settings (role panels, starboards, message buttons, <:name:id> in message text) and re-renders posted role panels, but emojis in old chat messages and other bots' settings may show as broken.

Only what must move is re-uploaded: emojis at the start of the new order that are already in age order keep their place. Integration emojis (managed) and greyed-out ones (available: false) can never move - pin them.

Free servers: one reposition per 7 days (nextFreeAt). Premium: unlimited (unlimited). Starting one needs a top.gg vote (403 vote_required, Premium skips it) and Manage Expressions for both the caller and Noti. Behind the repositionEmojis launch flag: every method answers 403 not_available until it is beta/public for the caller.

Constructors

Methods

  • Start a reposition. order is EVERY emoji id in the server, in the new order. Runs in the background - poll getEmojiReposition for progress (large servers can take hours: Discord limits emoji uploads).

    Errors (error.code): 400 invalid_body / mismatch (the list changed - reload) / noop / managed_locked / unavailable_locked (error.ids) / over_limit; 403 not_available / vote_required / not_manager / missing_permissions; 409 running; 429 weekly_limit (error.resetsAt, error.premiumUrl); 503 guild_unavailable.

    Parameters

    • __namedParameters: {
          auth: string;
          guildId: string;
          order: string[];
      }
      • auth: string
      • guildId: string
      • order: string[]

    Returns Promise<WebResponse<{
        job: EmojiRepositionJob;
    }>>