Class: Discorb::Sticker::GuildSticker

Inherits:
Discorb::Sticker show all
Defined in:
lib/discorb/sticker.rb

Overview

Represents a sticker of guilds.

Instance Attribute Summary collapse

Attributes inherited from Discorb::Sticker

#available, #description, #format, #guild_id, #id, #name, #pack_id, #sort_value, #tags, #type, #user

Instance Method Summary collapse

Methods inherited from DiscordModel

#==, #eql?, #inspect

Instance Attribute Details

#guild -> Object (readonly)



66
67
68
# File 'lib/discorb/sticker.rb', line 66

def guild
  @client.guilds[@guild_id]
end

Instance Method Details

#delete!(reason: nil) -> Object Also known as: destroy!

Deletes the sticker.

Parameters:

  • reason (String) (defaults to: nil)

    The reason for the deletion.



103
104
105
106
107
108
109
110
# File 'lib/discorb/sticker.rb', line 103

def delete!(reason: nil)
  Async do
    @client.http.request(
      Route.new("/guilds/#{@guild_id}/stickers/#{@id}", "//guilds/:guild_id/stickers/:sticker_id",
                :delete), {}, audit_log_reason: reason,
    ).wait
  end
end

#edit(name: Discorb::Unset, description: Discorb::Unset, tag: Discorb::Unset, reason: Discorb::Unset) -> Async::Task<void> Also known as: modify

Note:

The arguments of this method are defaultly set to Discorb::Unset. Specify value to set the value, if not don't specify or specify Discorb::Unset.

Edits the sticker.

Parameters:

  • name (String) (defaults to: Discorb::Unset)

    The new name of the sticker.

  • description (String) (defaults to: Discorb::Unset)

    The new description of the sticker.

  • tag (Discorb::Emoji) (defaults to: Discorb::Unset)

    The new tags of the sticker.

  • reason (String) (defaults to: Discorb::Unset)

    The reason for the edit.

Returns:

  • (Async::Task<void>)

    The task.



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/discorb/sticker.rb', line 82

def edit(name: Discorb::Unset, description: Discorb::Unset, tag: Discorb::Unset, reason: Discorb::Unset)
  Async do
    payload = {}
    payload[:name] = name unless name == Discorb::Unset
    payload[:description] = description unless description == Discorb::Unset
    payload[:tags] = tag.name unless tag == Discorb::Unset
    @client.http.request(
      Route.new("/guilds/#{@guild_id}/stickers/#{@id}", "//guilds/:guild_id/stickers/:sticker_id",
                :patch), payload, audit_log_reason: reason,
    ).wait
  end
end