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, 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.
| 95 96 97 | # File 'lib/discorb/channel.rb', line 95 def @permission_overwrites end | 
#position -> Integer (readonly)
Returns The position of the channel as integer.
| 93 94 95 | # File 'lib/discorb/channel.rb', line 93 def position @position end | 
Instance Method Details
#<=>(other) -> -1, 1
Compares position of two channels.
| 119 120 121 122 123 | # File 'lib/discorb/channel.rb', line 119 def <=>(other) return 0 unless other.respond_to?(:position) @position <=> other.position end | 
#==(other) -> Boolean
Checks if the channel is same as another.
| 132 133 134 135 136 | # File 'lib/discorb/channel.rb', line 132 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.
| 175 176 177 178 179 180 181 | # File 'lib/discorb/channel.rb', line 175 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
| 159 160 161 | # File 'lib/discorb/channel.rb', line 159 def guild @client.guilds[@guild_id] end | 
#inspect -> Object
| 163 164 165 | # File 'lib/discorb/channel.rb', line 163 def inspect "#<#{self.class} \"##{@name}\" id=#{@id}>" end | 
#mention -> Object
| 147 148 149 | # File 'lib/discorb/channel.rb', line 147 def mention "<##{@id}>" end | 
#move(position, lock_permissions: false, parent: Discorb::Unset, reason: nil) -> Async::Task<self>
Moves the channel to another position.
| 197 198 199 200 201 202 203 204 205 206 | # File 'lib/discorb/channel.rb', line 197 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
| 151 152 153 154 155 | # File 'lib/discorb/channel.rb', line 151 def parent return nil unless @parent_id @client.channels[@parent_id] end | 
#to_s -> String
Stringifies the channel.
| 143 144 145 | # File 'lib/discorb/channel.rb', line 143 def to_s "##{@name}" end |