This commit is contained in:
secret-rare
2026-03-07 18:23:23 +00:00
parent d135c35fcc
commit f5e0f52c6a
+33 -29
View File
@@ -528,24 +528,26 @@ rbx_upload </h1>
</span><span id="RobloxClient-292"><a href="#RobloxClient-292"><span class="linenos">292</span></a>
</span><span id="RobloxClient-293"><a href="#RobloxClient-293"><span class="linenos">293</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_collectible_item_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">asset_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="RobloxClient-294"><a href="#RobloxClient-294"><span class="linenos">294</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Look up the collectible item ID (UUID) for a given asset ID.&quot;&quot;&quot;</span>
</span><span id="RobloxClient-295"><a href="#RobloxClient-295"><span class="linenos">295</span></a> <span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="RobloxClient-296"><a href="#RobloxClient-296"><span class="linenos">296</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_proxy_url</span><span class="p">(</span><span class="s2">&quot;https://catalog.roblox.com/v1/catalog/items/details&quot;</span><span class="p">),</span>
</span><span id="RobloxClient-297"><a href="#RobloxClient-297"><span class="linenos">297</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;items&quot;</span><span class="p">:</span> <span class="p">[{</span><span class="s2">&quot;itemType&quot;</span><span class="p">:</span> <span class="s2">&quot;Asset&quot;</span><span class="p">,</span> <span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">asset_id</span><span class="p">}]},</span>
</span><span id="RobloxClient-298"><a href="#RobloxClient-298"><span class="linenos">298</span></a> <span class="n">cookies</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_csrf_cookies</span><span class="p">,</span>
</span><span id="RobloxClient-299"><a href="#RobloxClient-299"><span class="linenos">299</span></a> <span class="p">)</span>
</span><span id="RobloxClient-300"><a href="#RobloxClient-300"><span class="linenos">300</span></a> <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
</span><span id="RobloxClient-301"><a href="#RobloxClient-301"><span class="linenos">301</span></a> <span class="n">items</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;data&quot;</span><span class="p">,</span> <span class="p">[])</span>
</span><span id="RobloxClient-302"><a href="#RobloxClient-302"><span class="linenos">302</span></a> <span class="k">return</span> <span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;collectibleItemId&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="n">items</span> <span class="k">else</span> <span class="kc">None</span>
</span><span id="RobloxClient-303"><a href="#RobloxClient-303"><span class="linenos">303</span></a>
</span><span id="RobloxClient-304"><a href="#RobloxClient-304"><span class="linenos">304</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient-305"><a href="#RobloxClient-305"><span class="linenos">305</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the underlying HTTP client.&quot;&quot;&quot;</span>
</span><span id="RobloxClient-306"><a href="#RobloxClient-306"><span class="linenos">306</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">aclose</span><span class="p">()</span>
</span><span id="RobloxClient-307"><a href="#RobloxClient-307"><span class="linenos">307</span></a>
</span><span id="RobloxClient-308"><a href="#RobloxClient-308"><span class="linenos">308</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="fm">__aenter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient-309"><a href="#RobloxClient-309"><span class="linenos">309</span></a> <span class="k">return</span> <span class="bp">self</span>
</span><span id="RobloxClient-310"><a href="#RobloxClient-310"><span class="linenos">310</span></a>
</span><span id="RobloxClient-311"><a href="#RobloxClient-311"><span class="linenos">311</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="fm">__aexit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
</span><span id="RobloxClient-312"><a href="#RobloxClient-312"><span class="linenos">312</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
</span><span id="RobloxClient-295"><a href="#RobloxClient-295"><span class="linenos">295</span></a> <span class="n">csrf</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_csrf_token</span><span class="p">()</span>
</span><span id="RobloxClient-296"><a href="#RobloxClient-296"><span class="linenos">296</span></a> <span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="RobloxClient-297"><a href="#RobloxClient-297"><span class="linenos">297</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_proxy_url</span><span class="p">(</span><span class="s2">&quot;https://catalog.roblox.com/v1/catalog/items/details&quot;</span><span class="p">),</span>
</span><span id="RobloxClient-298"><a href="#RobloxClient-298"><span class="linenos">298</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;items&quot;</span><span class="p">:</span> <span class="p">[{</span><span class="s2">&quot;itemType&quot;</span><span class="p">:</span> <span class="s2">&quot;Asset&quot;</span><span class="p">,</span> <span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">asset_id</span><span class="p">}]},</span>
</span><span id="RobloxClient-299"><a href="#RobloxClient-299"><span class="linenos">299</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;X-CSRF-TOKEN&quot;</span><span class="p">:</span> <span class="n">csrf</span><span class="p">},</span>
</span><span id="RobloxClient-300"><a href="#RobloxClient-300"><span class="linenos">300</span></a> <span class="n">cookies</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_csrf_cookies</span><span class="p">,</span>
</span><span id="RobloxClient-301"><a href="#RobloxClient-301"><span class="linenos">301</span></a> <span class="p">)</span>
</span><span id="RobloxClient-302"><a href="#RobloxClient-302"><span class="linenos">302</span></a> <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
</span><span id="RobloxClient-303"><a href="#RobloxClient-303"><span class="linenos">303</span></a> <span class="n">items</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;data&quot;</span><span class="p">,</span> <span class="p">[])</span>
</span><span id="RobloxClient-304"><a href="#RobloxClient-304"><span class="linenos">304</span></a> <span class="k">return</span> <span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;collectibleItemId&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="n">items</span> <span class="k">else</span> <span class="kc">None</span>
</span><span id="RobloxClient-305"><a href="#RobloxClient-305"><span class="linenos">305</span></a>
</span><span id="RobloxClient-306"><a href="#RobloxClient-306"><span class="linenos">306</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient-307"><a href="#RobloxClient-307"><span class="linenos">307</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the underlying HTTP client.&quot;&quot;&quot;</span>
</span><span id="RobloxClient-308"><a href="#RobloxClient-308"><span class="linenos">308</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">aclose</span><span class="p">()</span>
</span><span id="RobloxClient-309"><a href="#RobloxClient-309"><span class="linenos">309</span></a>
</span><span id="RobloxClient-310"><a href="#RobloxClient-310"><span class="linenos">310</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="fm">__aenter__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient-311"><a href="#RobloxClient-311"><span class="linenos">311</span></a> <span class="k">return</span> <span class="bp">self</span>
</span><span id="RobloxClient-312"><a href="#RobloxClient-312"><span class="linenos">312</span></a>
</span><span id="RobloxClient-313"><a href="#RobloxClient-313"><span class="linenos">313</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="fm">__aexit__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
</span><span id="RobloxClient-314"><a href="#RobloxClient-314"><span class="linenos">314</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
</span></pre></div>
@@ -908,14 +910,16 @@ failures in the returned BatchResult.</p>
<a class="headerlink" href="#RobloxClient.get_collectible_item_id"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.get_collectible_item_id-293"><a href="#RobloxClient.get_collectible_item_id-293"><span class="linenos">293</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_collectible_item_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">asset_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span><span class="p">:</span>
</span><span id="RobloxClient.get_collectible_item_id-294"><a href="#RobloxClient.get_collectible_item_id-294"><span class="linenos">294</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Look up the collectible item ID (UUID) for a given asset ID.&quot;&quot;&quot;</span>
</span><span id="RobloxClient.get_collectible_item_id-295"><a href="#RobloxClient.get_collectible_item_id-295"><span class="linenos">295</span></a> <span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="RobloxClient.get_collectible_item_id-296"><a href="#RobloxClient.get_collectible_item_id-296"><span class="linenos">296</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_proxy_url</span><span class="p">(</span><span class="s2">&quot;https://catalog.roblox.com/v1/catalog/items/details&quot;</span><span class="p">),</span>
</span><span id="RobloxClient.get_collectible_item_id-297"><a href="#RobloxClient.get_collectible_item_id-297"><span class="linenos">297</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;items&quot;</span><span class="p">:</span> <span class="p">[{</span><span class="s2">&quot;itemType&quot;</span><span class="p">:</span> <span class="s2">&quot;Asset&quot;</span><span class="p">,</span> <span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">asset_id</span><span class="p">}]},</span>
</span><span id="RobloxClient.get_collectible_item_id-298"><a href="#RobloxClient.get_collectible_item_id-298"><span class="linenos">298</span></a> <span class="n">cookies</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_csrf_cookies</span><span class="p">,</span>
</span><span id="RobloxClient.get_collectible_item_id-299"><a href="#RobloxClient.get_collectible_item_id-299"><span class="linenos">299</span></a> <span class="p">)</span>
</span><span id="RobloxClient.get_collectible_item_id-300"><a href="#RobloxClient.get_collectible_item_id-300"><span class="linenos">300</span></a> <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
</span><span id="RobloxClient.get_collectible_item_id-301"><a href="#RobloxClient.get_collectible_item_id-301"><span class="linenos">301</span></a> <span class="n">items</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;data&quot;</span><span class="p">,</span> <span class="p">[])</span>
</span><span id="RobloxClient.get_collectible_item_id-302"><a href="#RobloxClient.get_collectible_item_id-302"><span class="linenos">302</span></a> <span class="k">return</span> <span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;collectibleItemId&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="n">items</span> <span class="k">else</span> <span class="kc">None</span>
</span><span id="RobloxClient.get_collectible_item_id-295"><a href="#RobloxClient.get_collectible_item_id-295"><span class="linenos">295</span></a> <span class="n">csrf</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_csrf_token</span><span class="p">()</span>
</span><span id="RobloxClient.get_collectible_item_id-296"><a href="#RobloxClient.get_collectible_item_id-296"><span class="linenos">296</span></a> <span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
</span><span id="RobloxClient.get_collectible_item_id-297"><a href="#RobloxClient.get_collectible_item_id-297"><span class="linenos">297</span></a> <span class="bp">self</span><span class="o">.</span><span class="n">_proxy_url</span><span class="p">(</span><span class="s2">&quot;https://catalog.roblox.com/v1/catalog/items/details&quot;</span><span class="p">),</span>
</span><span id="RobloxClient.get_collectible_item_id-298"><a href="#RobloxClient.get_collectible_item_id-298"><span class="linenos">298</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;items&quot;</span><span class="p">:</span> <span class="p">[{</span><span class="s2">&quot;itemType&quot;</span><span class="p">:</span> <span class="s2">&quot;Asset&quot;</span><span class="p">,</span> <span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">asset_id</span><span class="p">}]},</span>
</span><span id="RobloxClient.get_collectible_item_id-299"><a href="#RobloxClient.get_collectible_item_id-299"><span class="linenos">299</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;X-CSRF-TOKEN&quot;</span><span class="p">:</span> <span class="n">csrf</span><span class="p">},</span>
</span><span id="RobloxClient.get_collectible_item_id-300"><a href="#RobloxClient.get_collectible_item_id-300"><span class="linenos">300</span></a> <span class="n">cookies</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_csrf_cookies</span><span class="p">,</span>
</span><span id="RobloxClient.get_collectible_item_id-301"><a href="#RobloxClient.get_collectible_item_id-301"><span class="linenos">301</span></a> <span class="p">)</span>
</span><span id="RobloxClient.get_collectible_item_id-302"><a href="#RobloxClient.get_collectible_item_id-302"><span class="linenos">302</span></a> <span class="n">response</span><span class="o">.</span><span class="n">raise_for_status</span><span class="p">()</span>
</span><span id="RobloxClient.get_collectible_item_id-303"><a href="#RobloxClient.get_collectible_item_id-303"><span class="linenos">303</span></a> <span class="n">items</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;data&quot;</span><span class="p">,</span> <span class="p">[])</span>
</span><span id="RobloxClient.get_collectible_item_id-304"><a href="#RobloxClient.get_collectible_item_id-304"><span class="linenos">304</span></a> <span class="k">return</span> <span class="n">items</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;collectibleItemId&quot;</span><span class="p">)</span> <span class="k">if</span> <span class="n">items</span> <span class="k">else</span> <span class="kc">None</span>
</span></pre></div>
@@ -935,9 +939,9 @@ failures in the returned BatchResult.</p>
</div>
<a class="headerlink" href="#RobloxClient.close"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.close-304"><a href="#RobloxClient.close-304"><span class="linenos">304</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient.close-305"><a href="#RobloxClient.close-305"><span class="linenos">305</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the underlying HTTP client.&quot;&quot;&quot;</span>
</span><span id="RobloxClient.close-306"><a href="#RobloxClient.close-306"><span class="linenos">306</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">aclose</span><span class="p">()</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.close-306"><a href="#RobloxClient.close-306"><span class="linenos">306</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
</span><span id="RobloxClient.close-307"><a href="#RobloxClient.close-307"><span class="linenos">307</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the underlying HTTP client.&quot;&quot;&quot;</span>
</span><span id="RobloxClient.close-308"><a href="#RobloxClient.close-308"><span class="linenos">308</span></a> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_http</span><span class="o">.</span><span class="n">aclose</span><span class="p">()</span>
</span></pre></div>