Class: Discorb::StageInstance
- Inherits:
 - 
      DiscordModel
      
        
- Object
 - DiscordModel
 - Discorb::StageInstance
 
 
- Defined in:
 - lib/discorb/voice_state.rb
 
Overview
Represents a stage instance of a voice state.
Class Attribute Summary collapse
- 
  
    
      .privacy_level -> Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute privacy_level.
 
Instance Attribute Summary collapse
- 
  
    
      #id -> Discorb::Snowflake 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The ID of the guild this voice state is for.
 - 
  
    
      #privacy_level -> :public, :guild_only 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The privacy level of the stage instance.
 - 
  
    
      #topic -> String 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The topic of the stage instance.
 
Instance Method Summary collapse
- #channel -> Object
 - 
  
    
      #delete!(reason: nil) -> Object 
    
    
      (also: #destroy!, #end!)
    
  
  
  
  
  
  
  
  
  
    
Deletes the stage instance.
 - #discoverable? -> Boolean
 - 
  
    
      #edit(topic: :unset, privacy_level: :unset, reason: nil) -> Object 
    
    
      (also: #modify)
    
  
  
  
  
  
  
  
  
  
    
Edits the stage instance.
 - #guild -> Object
 - #guild_only? -> Boolean
 - #inspect -> Object
 - #public? -> Boolean
 
Methods inherited from DiscordModel
Class Attribute Details
.privacy_level -> Object (readonly)
Returns the value of attribute privacy_level.
      216 217 218  | 
    
      # File 'lib/discorb/voice_state.rb', line 216 def privacy_level @privacy_level end  | 
  
Instance Attribute Details
#id -> Discorb::Snowflake (readonly)
Returns The ID of the guild this voice state is for.
      111 112 113  | 
    
      # File 'lib/discorb/voice_state.rb', line 111 def id @id end  | 
  
#privacy_level -> :public, :guild_only (readonly)
Returns The privacy level of the stage instance.
      115 116 117  | 
    
      # File 'lib/discorb/voice_state.rb', line 115 def privacy_level @privacy_level end  | 
  
#topic -> String (readonly)
Returns The topic of the stage instance.
      113 114 115  | 
    
      # File 'lib/discorb/voice_state.rb', line 113 def topic @topic end  | 
  
Instance Method Details
#channel -> Object
      147 148 149  | 
    
      # File 'lib/discorb/voice_state.rb', line 147 def channel @client.channels[@data[:channel_id]] end  | 
  
#delete!(reason: nil) -> Object Also known as: destroy!, end!
Deletes the stage instance.
      194 195 196 197 198 199  | 
    
      # File 'lib/discorb/voice_state.rb', line 194 def delete!(reason: nil) Async do @client.http.delete("/stage-instances/#{@channel_id}", reason: reason).wait self end end  | 
  
#discoverable? -> Boolean
      151 152 153  | 
    
      # File 'lib/discorb/voice_state.rb', line 151 def discoverable? !@discoverable_disabled end  | 
  
#edit(topic: :unset, privacy_level: :unset, reason: nil) -> Object Also known as: modify
This is an asynchronous method, it will return a Async::Task object. Use Async::Task#wait to get the result.
This method calls HTTP request.
The arguments of this method are defaultly set to :unset. Specify value to set the value, if not don't specify or specify :unset.
Edits the stage instance.
      177 178 179 180 181 182 183 184 185  | 
    
      # File 'lib/discorb/voice_state.rb', line 177 def edit(topic: :unset, privacy_level: :unset, reason: nil) Async do payload = {} payload[:topic] = topic if topic != :unset payload[:privacy_level] = self.class.privacy_level.key(privacy_level) if privacy_level != :unset @client.http.edit("/stage-instances/#{@channel_id}", payload, audit_log_reason: reason).wait self end end  | 
  
#guild -> Object
      143 144 145  | 
    
      # File 'lib/discorb/voice_state.rb', line 143 def guild @client.guilds[@data[:guild_id]] end  | 
  
#guild_only? -> Boolean
      159 160 161  | 
    
      # File 'lib/discorb/voice_state.rb', line 159 def guild_only? @privacy_level == :guild_only end  | 
  
#inspect -> Object
      163 164 165  | 
    
      # File 'lib/discorb/voice_state.rb', line 163 def inspect "#<#{self.class} topic=#{@topic.inspect}>" end  | 
  
#public? -> Boolean
      155 156 157  | 
    
      # File 'lib/discorb/voice_state.rb', line 155 def public? @privacy_level == :public end  |