Class: RubyCord::Guild::Widget
- Inherits:
-
DiscordModel
- Object
- DiscordModel
- RubyCord::Guild::Widget
- Defined in:
- lib/rubycord/guild/widget.rb
Instance Attribute Summary collapse
- #channel ⇒ nil, RubyCord::Channel readonly
-
#channel_id ⇒ RubyCord::Snowflake
readonly
The channel ID.
-
#enabled ⇒ Boolean
(also: #enabled?, #enable?)
readonly
Whether the widget is enabled.
- #guild ⇒ nil, RubyCord::Guild readonly
-
#guild_id ⇒ RubyCord::Snowflake
readonly
The guild ID.
-
#json_url ⇒ String
readonly
The JSON URL.
Instance Method Summary collapse
-
#edit(enabled: nil, channel: nil, reason: nil) ⇒ Async::Task<void>
(also: #modify)
Edit the widget.
-
#iframe(theme: "dark", width: 350, height: 500) ⇒ String
Return iframe HTML of the widget.
Methods inherited from DiscordModel
Instance Attribute Details
#channel ⇒ nil, RubyCord::Channel (readonly)
Note:
This method returns an object from client cache. it will return nil
if the object is not in cache.
|
# File 'lib/rubycord/guild/widget.rb', line 18
|
#channel_id ⇒ RubyCord::Snowflake (readonly)
Returns The channel ID.
12 13 14 |
# File 'lib/rubycord/guild/widget.rb', line 12 def channel_id @channel_id end |
#enabled ⇒ Boolean (readonly) Also known as: enabled?, enable?
Returns Whether the widget is enabled.
14 15 16 |
# File 'lib/rubycord/guild/widget.rb', line 14 def enabled @enabled end |
#guild ⇒ nil, RubyCord::Guild (readonly)
Note:
This method returns an object from client cache. it will return nil
if the object is not in cache.
|
# File 'lib/rubycord/guild/widget.rb', line 18
|
#guild_id ⇒ RubyCord::Snowflake (readonly)
Returns The guild ID.
10 11 12 |
# File 'lib/rubycord/guild/widget.rb', line 10 def guild_id @guild_id end |
#json_url ⇒ String (readonly)
Returns The JSON URL.
|
# File 'lib/rubycord/guild/widget.rb', line 18
|
Instance Method Details
#edit(enabled: nil, channel: nil, reason: nil) ⇒ Async::Task<void> Also known as: modify
Note:
The arguments of this method are defaultly set to RubyCord::Unset
.
Specify value to set the value, if not don't specify or specify RubyCord::Unset
.
Edit the widget.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/rubycord/guild/widget.rb', line 57 def edit(enabled: nil, channel: nil, reason: nil) Async do payload = {} payload[:enabled] = enabled unless enabled.nil? payload[:channel_id] = channel.id if channel_id @client .http .request( RubyCord::Internal::Route.new( "/guilds/#{@guild_id}/widget", "//guilds/:guild_id/widget", :patch ), payload, audit_log_reason: reason ) .wait end end |
#iframe(theme: "dark", width: 350, height: 500) ⇒ String
Return iframe HTML of the widget.
92 93 94 95 96 97 98 99 |
# File 'lib/rubycord/guild/widget.rb', line 92 def iframe(theme: "dark", width: 350, height: 500) # rubocop:disable Layout/LineLength [ %(<iframe src="https://canary.discord.com/widget?id=#{@guild_id}&theme=#{theme}" width="#{width}" height="#{height}"), %(allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>) ].join # rubocop:enable Layout/LineLength end |