Class: Discorb::WelcomeScreen::Channel
- Inherits:
-
DiscordModel
- Object
- DiscordModel
- Discorb::WelcomeScreen::Channel
- Defined in:
- lib/discorb/guild.rb
Overview
Represents a channel to display the welcome screen.
Instance Attribute Summary collapse
- #channel -> nil, Discorb::Channel readonly
-
#description -> String
readonly
The channel's name.
-
#emoji -> Discorb::Emoji
readonly
The emoji to display.
Instance Method Summary collapse
-
#edit(enabled: :unset, channels: :unset, description: :unset, reason: nil) -> Object
Edits the welcome screen.
-
#initialize(channel, description, emoji) -> Channel
constructor
Initialize a new welcome screen channel.
-
#to_hash -> Hash
Converts the channel to a hash.
Methods inherited from DiscordModel
Constructor Details
#initialize(channel, description, emoji) -> Channel
Initialize a new welcome screen channel.
1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 |
# File 'lib/discorb/guild.rb', line 1319 def initialize(channel, description, emoji) if description.is_a?(Hash) @screen = channel data = description @channel_id = Snowflake.new(data[:channel_id]) @description = data[:description] @emoji_id = Snowflake.new(data[:emoji_id]) @emoji_name = data[:emoji_name] else @channel_id = channel.id @description = description if emoji.is_a?(UnicodeEmoji) @emoji_id = nil @emoji_name = emoji.value else @emoji_id = emoji.id @emoji_name = emoji.name end end end |
Instance Attribute Details
#channel -> nil, Discorb::Channel (readonly)
Note:
This method returns an object from client cache. it will return nil
if the object is not in cache.
|
# File 'lib/discorb/guild.rb', line 1306
|
#description -> String (readonly)
Returns The channel's name.
1304 1305 1306 |
# File 'lib/discorb/guild.rb', line 1304 def description @description end |
#emoji -> Discorb::Emoji (readonly)
Returns The emoji to display.
|
# File 'lib/discorb/guild.rb', line 1306
|
Instance Method Details
#edit(enabled: :unset, channels: :unset, description: :unset, reason: nil) -> Object
Note:
This is an asynchronous method, it will return a Async::Task
object. Use Async::Task#wait
to get the result.
Note:
This method calls HTTP request.
Note:
The arguments of this method are defaultly set to :unset
. Specify value to set the value, if not don't specify or specify :unset
.
Edits the welcome screen.
1378 1379 1380 1381 1382 1383 1384 1385 1386 |
# File 'lib/discorb/guild.rb', line 1378 def edit(enabled: :unset, channels: :unset, description: :unset, reason: nil) Async do payload = {} payload[:enabled] = enabled unless enabled == :unset payload[:welcome_channels] = channels.map(&:to_hash) unless channels == :unset payload[:description] = description unless description == :unset @client.http.patch("/guilds/#{@guild.id}/welcome-screen", payload, audit_log_reason: reason).wait end end |
#to_hash -> Hash
Converts the channel to a hash.
1346 1347 1348 1349 1350 1351 1352 1353 |
# File 'lib/discorb/guild.rb', line 1346 def to_hash { channel_id: @channel_id, description: @description, emoji_id: @emoji_id, emoji_name: @emoji_name, } end |