<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title> Module: Discorb::Interaction::SourceResponse — Documentation by YARD 0.9.26 </title> <link rel="stylesheet" href="../../css/style.css" type="text/css" /> <link rel="stylesheet" href="../../css/common.css" type="text/css" /> <script type="text/javascript"> pathId = "Discorb::Interaction::SourceResponse"; relpath = '../../'; </script> <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script> </head> <body> <div class="nav_wrap"> <iframe id="nav" src="../../class_list.html?1"></iframe> <div id="resizer"></div> </div> <div id="main" tabindex="-1"> <div id="header"> <div id="menu"> <a href="../../a_index.html">Index (S)</a> » <span class='title'><span class='object_link'><a href="../../Discorb.html" title="Discorb (module)">Discorb</a></span></span> » <span class='title'><span class='object_link'><a href="../Interaction.html" title="Discorb::Interaction (class)">Interaction</a></span></span> » <span class="title">SourceResponse</span> </div> <div id="search"> <a class="full_list_link" id="class_list_link" href="../../class_list.html"> <svg width="24" height="24"> <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect> <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect> </svg> </a> </div> <div class="clear"></div> </div> <div id="content"><h1>Module: Discorb::Interaction::SourceResponse </h1> <div class="box_info"> <dl> <dt>Included in:</dt> <dd><span class='object_link'><a href="../MessageComponentInteraction.html" title="Discorb::MessageComponentInteraction (class)">MessageComponentInteraction</a></span></dd> </dl> <dl> <dt>Defined in:</dt> <dd>lib/discorb/interaction.rb</dd> </dl> </div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>A module for response with source.</p> </div> </div> <div class="tags"> </div> <h2> Instance Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#defer_source-instance_method" title="#defer_source (instance method)">#<strong>defer_source</strong>(hide: false) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Response with <code>DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE</code>(<code>5</code>).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#post-instance_method" title="#post (instance method)">#<strong>post</strong>(content, tts: false, embed: nil, embeds: nil, allowed_mentions: nil, components: nil, hide: false) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'><p>Response with <code>CHANNEL_MESSAGE_WITH_SOURCE</code>(<code>4</code>).</p> </div></span> </li> </ul> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="defer_source-instance_method"> #<strong>defer_source</strong>(hide: false) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Response with <code>DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE</code>(<code>5</code>).</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>hide</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Whether to hide the response (ephemeral).</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 100 101 102 103 104 105 106 107 108 109 110</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/discorb/interaction.rb', line 100</span> <span class='kw'>def</span> <span class='id identifier rubyid_defer_source'>defer_source</span><span class='lparen'>(</span><span class='label'>hide:</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='const'>Async</span> <span class='kw'>do</span> <span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/interactions/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@token</span><span class='embexpr_end'>}</span><span class='tstring_content'>/callback</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>type:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='lbrace'>{</span> <span class='label'>flags:</span> <span class='lparen'>(</span><span class='id identifier rubyid_hide'>hide</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'><<</span> <span class='int'>6</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='rbrace'>}</span><span class='comma'>,</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_wait'>wait</span> <span class='ivar'>@defered</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="post-instance_method"> #<strong>post</strong>(content, tts: false, embed: nil, embeds: nil, allowed_mentions: nil, components: nil, hide: false) ⇒ <tt>Object</tt> </h3><div class="docstring"> <div class="discussion"> <p>Response with <code>CHANNEL_MESSAGE_WITH_SOURCE</code>(<code>4</code>).</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>content</span> <span class='type'>(<tt>String</tt>)</span> — <div class='inline'><p>The content of the response.</p> </div> </li> <li> <span class='name'>tts</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Whether to send the message as text-to-speech.</p> </div> </li> <li> <span class='name'>embed</span> <span class='type'>(<tt><span class='object_link'><a href="../Embed.html" title="Discorb::Embed (class)">Discorb::Embed</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The embed to send.</p> </div> </li> <li> <span class='name'>embeds</span> <span class='type'>(<tt>Array<<span class='object_link'><a href="../Embed.html" title="Discorb::Embed (class)">Discorb::Embed</a></span>></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The embeds to send. (max: 10)</p> </div> </li> <li> <span class='name'>allowed_mentions</span> <span class='type'>(<tt><span class='object_link'><a href="../AllowedMentions.html" title="Discorb::AllowedMentions (class)">Discorb::AllowedMentions</a></span></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The allowed mentions to send.</p> </div> </li> <li> <span class='name'>components</span> <span class='type'>(<tt>Array<Discorb::Components></tt>, <tt>Array<Array<Discorb::Components>></tt>)</span> <em class="default">(defaults to: <tt>nil</tt>)</em> — <div class='inline'><p>The components to send.</p> </div> </li> <li> <span class='name'>hide</span> <span class='type'>(<tt>Boolean</tt>)</span> <em class="default">(defaults to: <tt>false</tt>)</em> — <div class='inline'><p>Whether to hide the response (ephemeral).</p> </div> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/discorb/interaction.rb', line 123</span> <span class='kw'>def</span> <span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='id identifier rubyid_content'>content</span><span class='comma'>,</span> <span class='label'>tts:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='label'>embed:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>embeds:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>allowed_mentions:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>components:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>hide:</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='id identifier rubyid_payload'>payload</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:content</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_content'>content</span> <span class='kw'>if</span> <span class='id identifier rubyid_content'>content</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:tts</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_tts'>tts</span> <span class='id identifier rubyid_tmp_embed'>tmp_embed</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_embed'>embed</span> <span class='lbracket'>[</span><span class='id identifier rubyid_embed'>embed</span><span class='rbracket'>]</span> <span class='kw'>elsif</span> <span class='id identifier rubyid_embeds'>embeds</span> <span class='id identifier rubyid_embeds'>embeds</span> <span class='kw'>end</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:embeds</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp_embed'>tmp_embed</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_hash</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_tmp_embed'>tmp_embed</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:allowed_mentions</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_allowed_mentions'>allowed_mentions</span> <span class='op'>?</span> <span class='id identifier rubyid_allowed_mentions'>allowed_mentions</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span><span class='lparen'>(</span><span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_allowed_mentions'>allowed_mentions</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_allowed_mentions'>allowed_mentions</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span> <span class='kw'>if</span> <span class='id identifier rubyid_components'>components</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='id identifier rubyid_components'>components</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span> <span class='kw'>case</span> <span class='id identifier rubyid_c'>c</span> <span class='kw'>when</span> <span class='const'>Array</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'><<</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'><<</span> <span class='id identifier rubyid_c'>c</span> <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="../SelectMenu.html" title="Discorb::SelectMenu (class)">SelectMenu</a></span></span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'><<</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='id identifier rubyid_c'>c</span><span class='rbracket'>]</span> <span class='kw'>else</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='op'><<</span> <span class='id identifier rubyid_c'>c</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span> <span class='op'><<</span> <span class='id identifier rubyid_tmp_row'>tmp_row</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:components</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_tmp_components'>tmp_components</span><span class='period'>.</span><span class='id identifier rubyid_filter'>filter</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='period'>.</span><span class='id identifier rubyid_positive?'>positive?</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='op'>|</span> <span class='lbrace'>{</span> <span class='label'>type:</span> <span class='int'>1</span><span class='comma'>,</span> <span class='label'>components:</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_hash</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span> <span class='kw'>end</span> <span class='id identifier rubyid_payload'>payload</span><span class='lbracket'>[</span><span class='symbol'>:flags</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_hide'>hide</span> <span class='op'>?</span> <span class='int'>1</span> <span class='op'><<</span> <span class='int'>6</span> <span class='op'>:</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@responded</span> <span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/webhooks/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@token</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>type:</span> <span class='int'>4</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload'>payload</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_wait'>wait</span> <span class='kw'>elsif</span> <span class='ivar'>@defered</span> <span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/interactions/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@token</span><span class='embexpr_end'>}</span><span class='tstring_content'>/@original/edit</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>type:</span> <span class='int'>4</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload'>payload</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_wait'>wait</span> <span class='kw'>else</span> <span class='ivar'>@client</span><span class='period'>.</span><span class='id identifier rubyid_http'>http</span><span class='period'>.</span><span class='id identifier rubyid_post'>post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/interactions/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@id</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@token</span><span class='embexpr_end'>}</span><span class='tstring_content'>/callback</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>type:</span> <span class='int'>4</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload'>payload</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_wait'>wait</span> <span class='kw'>end</span> <span class='ivar'>@responded</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated from <a href="https://github.com/discorb-lib/discorb/tree/27a4a46a8d847860751d0c3758742f6c09cec01b"><code>27a4a46a8d847860751d0c3758742f6c09cec01b</code></a>, version v0.0.5, with YARD 0.9.26. </div> </div> </body> </html>