Class: Discorb::GuildChannel Abstract
- Inherits:
-
Channel
- Object
- DiscordModel
- Channel
- Discorb::GuildChannel
- Includes:
- Comparable
- Defined in:
- lib/discorb/channel.rb
Overview
This class is abstract.
Represents a channel in guild.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#permission_overwrites -> Hash{Discorb::Role, Discorb::Member => PermissionOverwrite}
readonly
The permission overwrites of the channel.
-
#position -> Integer
readonly
The position of the channel as integer.
Attributes inherited from Channel
Instance Method Summary collapse
-
#<=>(other) -> -1, ...
Compares position of two channels.
-
#==(other) -> Boolean
Checks if the channel is same as another.
-
#delete!(reason: nil) -> Async::Task<self>
(also: #close!, #destroy!)
Deletes the channel.
- #guild -> Object
- #inspect -> Object
- #mention -> Object
-
#move(position, lock_permissions: false, parent: Discorb::Unset, reason: nil) -> Async::Task<self>
Moves the channel to another position.
- #parent -> Object (also: #category)
-
#to_s -> String
Stringifies the channel.
Methods inherited from Channel
Methods inherited from DiscordModel
Instance Attribute Details
#permission_overwrites -> Hash{Discorb::Role, Discorb::Member => PermissionOverwrite} (readonly)
Returns The permission overwrites of the channel.
116 117 118 |
# File 'lib/discorb/channel.rb', line 116 def @permission_overwrites end |
#position -> Integer (readonly)
Returns The position of the channel as integer.
114 115 116 |
# File 'lib/discorb/channel.rb', line 114 def position @position end |
Instance Method Details
#<=>(other) -> -1, ...
Compares position of two channels.
140 141 142 143 144 |
# File 'lib/discorb/channel.rb', line 140 def <=>(other) return 0 unless other.respond_to?(:position) @position <=> other.position end |
#==(other) -> Boolean
Checks if the channel is same as another.
153 154 155 156 157 |
# File 'lib/discorb/channel.rb', line 153 def ==(other) return false unless other.respond_to?(:id) @id == other.id end |
#delete!(reason: nil) -> Async::Task<self> Also known as: close!, destroy!
Deletes the channel.
196 197 198 199 200 201 202 |
# File 'lib/discorb/channel.rb', line 196 def delete!(reason: nil) Async do @client.http.request(Route.new(base_url.wait.to_s, "//webhooks/:webhook_id/:token", :delete), audit_log_reason: reason).wait @deleted = true self end end |
#guild -> Object
180 181 182 |
# File 'lib/discorb/channel.rb', line 180 def guild @client.guilds[@guild_id] end |
#inspect -> Object
184 185 186 |
# File 'lib/discorb/channel.rb', line 184 def inspect "#<#{self.class} \"##{@name}\" id=#{@id}>" end |
#mention -> Object
168 169 170 |
# File 'lib/discorb/channel.rb', line 168 def mention "<##{@id}>" end |
#move(position, lock_permissions: false, parent: Discorb::Unset, reason: nil) -> Async::Task<self>
Moves the channel to another position.
218 219 220 221 222 223 224 225 226 227 |
# File 'lib/discorb/channel.rb', line 218 def move(position, lock_permissions: false, parent: Discorb::Unset, reason: nil) Async do payload = { position: position, } payload[:lock_permissions] = payload[:parent_id] = parent&.id if parent != Discorb::Unset @client.http.request(Route.new("/guilds/#{@guild_id}/channels", "//guilds/:guild_id/channels", :patch), payload, audit_log_reason: reason).wait end end |
#parent -> Object Also known as: category
172 173 174 175 176 |
# File 'lib/discorb/channel.rb', line 172 def parent return nil unless @parent_id @client.channels[@parent_id] end |
#to_s -> String
Stringifies the channel.
164 165 166 |
# File 'lib/discorb/channel.rb', line 164 def to_s "##{@name}" end |