module Discorb # # Represents a sticker. class Sticker < Discorb::DiscordModel STICKER_TYPE: untyped STICKER_FORMAT: untyped # # Initialize a new sticker. # @private # # @param [Discorb::Client] client The client. # @param [Hash] data The sticker data. def initialize: (Discorb::Client client, Discorb::json data) -> void # @return [Discorb::Snowflake] The ID of the sticker. attr_reader id: Discorb::Snowflake # @return [String] The name of the sticker. attr_reader name: String # @return [Array] The tags of the sticker. attr_reader tags: ::Array[String] # @return [:official, :guild] The type of sticker. attr_reader type: Symbol # @return [:png, :apng, :lottie] The format of the sticker. attr_reader format: Symbol # @return [String] The URL of the sticker. attr_reader description: String # @return [Discorb::Snowflake] The ID of the sticker pack. attr_reader pack_id: Discorb::Snowflake # @return [Integer] The sort value of the sticker. attr_reader sort_value: Integer # @return [Discorb::Snowflake] The ID of the guild the sticker is in. attr_reader guild_id: Discorb::Snowflake # @return [Discorb::User] The user who created the sticker. attr_reader user: Discorb::User # @return [Boolean] Whether the sticker is available. attr_reader available: bool # # Represents a sticker of guilds. class GuildSticker < Discorb::Sticker STICKER_TYPE: untyped STICKER_FORMAT: untyped # # Edits the sticker. # @async # @macro edit # # @param [String] name The new name of the sticker. # @param [String] description The new description of the sticker. # @param [Discorb::emoji] tag The new tags of the sticker. # @param [String] reason The reason for the edit. # # @return [Async::Task] The task. def edit: ( ?name: String, ?description: String, ?tag: Discorb::emoji, ?reason: String ) -> Async::Task[void] # # Deletes the sticker. # @async # # @param [String] reason The reason for the deletion. def delete: (?reason: String?) -> untyped # @!attribute [r] guild # @macro client_cache # @return [Discorb::Guild] The guild the sticker is in. attr_reader guild: untyped end # # Represents a sticker pack. class Pack < Discorb::DiscordModel # # Initialize a new sticker pack. # @private # # @param [Discorb::Client] client The client. # @param [Hash] data The sticker pack data. def initialize: (Discorb::Client client, Discorb::json data) -> void # @return [Discorb::Snowflake] The ID of the sticker pack. attr_reader id: Discorb::Snowflake # @return [String] The name of the sticker pack. attr_reader name: String # @return [Discorb::Snowflake] The cover sticker of the pack. attr_reader cover_sticker_id: Discorb::Snowflake # @return [String] The description of the pack. attr_reader description: String # @return [Array] The stickers in the pack. attr_reader stickers: ::Array[Discorb::Sticker] # @return [Discorb::Asset] The banner of the pack. attr_reader banner: Discorb::Asset end end end