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) -> Async::Task<void>
(also: #destroy!, #end!)
Deletes the stage instance.
- #discoverable? -> Boolean
-
#edit(topic: Discorb::Unset, privacy_level: Discorb::Unset, reason: nil) -> Async::Task<void>
(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.
241 242 243 |
# File 'lib/discorb/voice_state.rb', line 241 def privacy_level @privacy_level end |
Instance Attribute Details
#id -> Discorb::Snowflake (readonly)
Returns The ID of the guild this voice state is for.
120 121 122 |
# File 'lib/discorb/voice_state.rb', line 120 def id @id end |
#privacy_level -> :public, :guild_only (readonly)
Returns The privacy level of the stage instance.
124 125 126 |
# File 'lib/discorb/voice_state.rb', line 124 def privacy_level @privacy_level end |
#topic -> String (readonly)
Returns The topic of the stage instance.
122 123 124 |
# File 'lib/discorb/voice_state.rb', line 122 def topic @topic end |
Instance Method Details
#channel -> Object
163 164 165 |
# File 'lib/discorb/voice_state.rb', line 163 def channel @client.channels[@data[:channel_id]] end |
#delete!(reason: nil) -> Async::Task<void> Also known as: destroy!, end!
Deletes the stage instance.
216 217 218 219 220 221 222 223 224 |
# File 'lib/discorb/voice_state.rb', line 216 def delete!(reason: nil) Async do @client.http.request( Route.new("/stage-instances/#{@channel_id}", "//stage-instances/:stage_instance_id", :delete), {}, audit_log_reason: reason, ).wait self end end |
#discoverable? -> Boolean
167 168 169 |
# File 'lib/discorb/voice_state.rb', line 167 def discoverable? !@discoverable_disabled end |
#edit(topic: Discorb::Unset, privacy_level: Discorb::Unset, reason: nil) -> 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 stage instance.
194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'lib/discorb/voice_state.rb', line 194 def edit(topic: Discorb::Unset, privacy_level: Discorb::Unset, reason: nil) Async do payload = {} payload[:topic] = topic if topic != Discorb::Unset payload[:privacy_level] = PRIVACY_LEVEL.key(privacy_level) if privacy_level != Discorb::Unset @client.http.request( Route.new("/stage-instances/#{@channel_id}", "//stage-instances/:channel_id", :patch), payload, audit_log_reason: reason, ).wait self end end |
#guild -> Object
159 160 161 |
# File 'lib/discorb/voice_state.rb', line 159 def guild @client.guilds[@data[:guild_id]] end |
#guild_only? -> Boolean
175 176 177 |
# File 'lib/discorb/voice_state.rb', line 175 def guild_only? @privacy_level == :guild_only end |
#inspect -> Object
179 180 181 |
# File 'lib/discorb/voice_state.rb', line 179 def inspect "#<#{self.class} topic=#{@topic.inspect}>" end |
#public? -> Boolean
171 172 173 |
# File 'lib/discorb/voice_state.rb', line 171 def public? @privacy_level == :public end |