module Discorb # # Represents a voice channel. class VoiceChannel < Discorb::GuildChannel include Discorb::Connectable include Discorb::Messageable # # Edit the voice channel. # @async # @macro edit # # @param [String] name The name of the voice channel. # @param [Integer] position The position of the voice channel. # @param [Integer] bitrate The bitrate of the voice channel. # @param [Integer] user_limit The user limit of the voice channel. # @param [Symbol] rtc_region The region of the voice channel. # @param [String] reason The reason of editing the voice channel. # # @return [Async::Task] The edited voice channel. def edit: ( ?name: String, ?position: Integer, ?bitrate: Integer, ?user_limit: Integer, ?rtc_region: Symbol, ?reason: String? ) -> Async::Task[self] %a{pure} def voice_states: -> Array[Discorb::VoiceState] %a{pure} def members: -> Array[Discorb::Member] # @return [Integer] The bitrate of the voice channel. attr_reader bitrate: Integer # @return [Integer] The user limit of the voice channel. # @return [nil] If the user limit is not set. attr_reader user_limit: Integer? end end