Class: Discorb::GuildChannel Abstract
- Inherits:
 - 
      Channel
      
        
- Object
 - DiscordModel
 - Channel
 - Discorb::GuildChannel
 
 
- Includes:
 - Comparable
 
- Defined in:
 - lib/discorb/channel.rb
 
Overview
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: :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!
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.
Deletes the channel.
      176 177 178 179 180 181 182  | 
    
      # File 'lib/discorb/channel.rb', line 176 def delete!(reason: nil) Async do @client.http.delete(base_url.wait.to_s, 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: :unset, reason: nil) -> Async::Task<self>
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.
Moves the channel to another position.
      199 200 201 202 203 204 205 206 207 208  | 
    
      # File 'lib/discorb/channel.rb', line 199 def move(position, lock_permissions: false, parent: :unset, reason: nil) Async do payload = { position: position, } payload[:lock_permissions] = payload[:parent_id] = parent&.id if parent != :unset @client.http.patch("/guilds/#{@guild_id}/channels", 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  |