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.
221 222 223 |
# File 'lib/discorb/voice_state.rb', line 221 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) -> Async::Task<void> Also known as: destroy!, end!
Deletes the stage instance.
199 200 201 202 203 204 |
# File 'lib/discorb/voice_state.rb', line 199 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
151 152 153 |
# File 'lib/discorb/voice_state.rb', line 151 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.
178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/discorb/voice_state.rb', line 178 def edit(topic: Discorb::Unset, privacy_level: Discorb::Unset, reason: nil) Async do payload = {} payload[:topic] = topic if topic != Discorb::Unset payload[:privacy_level] = self.class.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
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 |