deploy: 94e457f240
This commit is contained in:
+117
-115
@@ -543,68 +543,69 @@ rbx_upload </h1>
|
|||||||
</span><span id="RobloxClient-304"><a href="#RobloxClient-304"><span class="linenos">304</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
</span><span id="RobloxClient-304"><a href="#RobloxClient-304"><span class="linenos">304</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||||||
</span><span id="RobloxClient-305"><a href="#RobloxClient-305"><span class="linenos">305</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"collectibleItemId"</span><span class="p">)</span>
|
</span><span id="RobloxClient-305"><a href="#RobloxClient-305"><span class="linenos">305</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"collectibleItemId"</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-306"><a href="#RobloxClient-306"><span class="linenos">306</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
</span><span id="RobloxClient-306"><a href="#RobloxClient-306"><span class="linenos">306</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient-307"><a href="#RobloxClient-307"><span class="linenos">307</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"publish_collectible did not return a collectibleItemId: </span><span class="si">{</span><span class="n">data</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="RobloxClient-307"><a href="#RobloxClient-307"><span class="linenos">307</span></a> <span class="c1"># status=0 means already published — look up the ID</span>
|
||||||
</span><span id="RobloxClient-308"><a href="#RobloxClient-308"><span class="linenos">308</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
</span><span id="RobloxClient-308"><a href="#RobloxClient-308"><span class="linenos">308</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collectible_item_id</span><span class="p">(</span><span class="n">asset_id</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-309"><a href="#RobloxClient-309"><span class="linenos">309</span></a>
|
</span><span id="RobloxClient-309"><a href="#RobloxClient-309"><span class="linenos">309</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
||||||
</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="nf">onsale_asset</span><span class="p">(</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="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">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">onsale_asset</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient-312"><a href="#RobloxClient-312"><span class="linenos">312</span></a> <span class="n">collectible_item_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
</span><span id="RobloxClient-312"><a href="#RobloxClient-312"><span class="linenos">312</span></a> <span class="bp">self</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-313"><a href="#RobloxClient-313"><span class="linenos">313</span></a> <span class="n">price</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
|
</span><span id="RobloxClient-313"><a href="#RobloxClient-313"><span class="linenos">313</span></a> <span class="n">collectible_item_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-314"><a href="#RobloxClient-314"><span class="linenos">314</span></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
</span><span id="RobloxClient-314"><a href="#RobloxClient-314"><span class="linenos">314</span></a> <span class="n">price</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-315"><a href="#RobloxClient-315"><span class="linenos">315</span></a><span class="w"> </span><span class="sd">"""Put an asset on sale."""</span>
|
</span><span id="RobloxClient-315"><a href="#RobloxClient-315"><span class="linenos">315</span></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient-316"><a href="#RobloxClient-316"><span class="linenos">316</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-316"><a href="#RobloxClient-316"><span class="linenos">316</span></a><span class="w"> </span><span class="sd">"""Put an asset on sale."""</span>
|
||||||
</span><span id="RobloxClient-317"><a href="#RobloxClient-317"><span class="linenos">317</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">patch</span><span class="p">(</span>
|
</span><span id="RobloxClient-317"><a href="#RobloxClient-317"><span class="linenos">317</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-318"><a href="#RobloxClient-318"><span class="linenos">318</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/</span><span class="si">{</span><span class="n">collectible_item_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="RobloxClient-318"><a href="#RobloxClient-318"><span class="linenos">318</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">patch</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient-319"><a href="#RobloxClient-319"><span class="linenos">319</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
</span><span id="RobloxClient-319"><a href="#RobloxClient-319"><span class="linenos">319</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/</span><span class="si">{</span><span class="n">collectible_item_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-320"><a href="#RobloxClient-320"><span class="linenos">320</span></a> <span class="s2">"saleLocationConfiguration"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"saleLocationType"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"places"</span><span class="p">:</span> <span class="p">[]},</span>
|
</span><span id="RobloxClient-320"><a href="#RobloxClient-320"><span class="linenos">320</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
||||||
</span><span id="RobloxClient-321"><a href="#RobloxClient-321"><span class="linenos">321</span></a> <span class="s2">"saleStatus"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient-321"><a href="#RobloxClient-321"><span class="linenos">321</span></a> <span class="s2">"saleLocationConfiguration"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"saleLocationType"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"places"</span><span class="p">:</span> <span class="p">[]},</span>
|
||||||
</span><span id="RobloxClient-322"><a href="#RobloxClient-322"><span class="linenos">322</span></a> <span class="s2">"quantityLimitPerUser"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient-322"><a href="#RobloxClient-322"><span class="linenos">322</span></a> <span class="s2">"saleStatus"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-323"><a href="#RobloxClient-323"><span class="linenos">323</span></a> <span class="s2">"resaleRestriction"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
</span><span id="RobloxClient-323"><a href="#RobloxClient-323"><span class="linenos">323</span></a> <span class="s2">"quantityLimitPerUser"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-324"><a href="#RobloxClient-324"><span class="linenos">324</span></a> <span class="s2">"priceInRobux"</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span>
|
</span><span id="RobloxClient-324"><a href="#RobloxClient-324"><span class="linenos">324</span></a> <span class="s2">"resaleRestriction"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-325"><a href="#RobloxClient-325"><span class="linenos">325</span></a> <span class="s2">"priceOffset"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient-325"><a href="#RobloxClient-325"><span class="linenos">325</span></a> <span class="s2">"priceInRobux"</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-326"><a href="#RobloxClient-326"><span class="linenos">326</span></a> <span class="s2">"optOutFromRegionalPricing"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="RobloxClient-326"><a href="#RobloxClient-326"><span class="linenos">326</span></a> <span class="s2">"priceOffset"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-327"><a href="#RobloxClient-327"><span class="linenos">327</span></a> <span class="s2">"isFree"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="RobloxClient-327"><a href="#RobloxClient-327"><span class="linenos">327</span></a> <span class="s2">"optOutFromRegionalPricing"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-328"><a href="#RobloxClient-328"><span class="linenos">328</span></a> <span class="p">},</span>
|
</span><span id="RobloxClient-328"><a href="#RobloxClient-328"><span class="linenos">328</span></a> <span class="s2">"isFree"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-329"><a href="#RobloxClient-329"><span class="linenos">329</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
|
</span><span id="RobloxClient-329"><a href="#RobloxClient-329"><span class="linenos">329</span></a> <span class="p">},</span>
|
||||||
</span><span id="RobloxClient-330"><a href="#RobloxClient-330"><span class="linenos">330</span></a> <span class="s2">"X-CSRF-TOKEN"</span><span class="p">:</span> <span class="n">csrf</span><span class="p">,</span>
|
</span><span id="RobloxClient-330"><a href="#RobloxClient-330"><span class="linenos">330</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
|
||||||
</span><span id="RobloxClient-331"><a href="#RobloxClient-331"><span class="linenos">331</span></a> <span class="s2">"User-Agent"</span><span class="p">:</span> <span class="s2">"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0"</span><span class="p">,</span>
|
</span><span id="RobloxClient-331"><a href="#RobloxClient-331"><span class="linenos">331</span></a> <span class="s2">"X-CSRF-TOKEN"</span><span class="p">:</span> <span class="n">csrf</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-332"><a href="#RobloxClient-332"><span class="linenos">332</span></a> <span class="s2">"Referer"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com/"</span><span class="p">,</span>
|
</span><span id="RobloxClient-332"><a href="#RobloxClient-332"><span class="linenos">332</span></a> <span class="s2">"User-Agent"</span><span class="p">:</span> <span class="s2">"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-333"><a href="#RobloxClient-333"><span class="linenos">333</span></a> <span class="s2">"Origin"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com"</span><span class="p">,</span>
|
</span><span id="RobloxClient-333"><a href="#RobloxClient-333"><span class="linenos">333</span></a> <span class="s2">"Referer"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com/"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-334"><a href="#RobloxClient-334"><span class="linenos">334</span></a> <span class="p">},</span>
|
</span><span id="RobloxClient-334"><a href="#RobloxClient-334"><span class="linenos">334</span></a> <span class="s2">"Origin"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-335"><a href="#RobloxClient-335"><span class="linenos">335</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-335"><a href="#RobloxClient-335"><span class="linenos">335</span></a> <span class="p">},</span>
|
||||||
</span><span id="RobloxClient-336"><a href="#RobloxClient-336"><span class="linenos">336</span></a> <span class="p">)</span>
|
</span><span id="RobloxClient-336"><a href="#RobloxClient-336"><span class="linenos">336</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-337"><a href="#RobloxClient-337"><span class="linenos">337</span></a>
|
</span><span id="RobloxClient-337"><a href="#RobloxClient-337"><span class="linenos">337</span></a> <span class="p">)</span>
|
||||||
</span><span id="RobloxClient-338"><a href="#RobloxClient-338"><span class="linenos">338</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">429</span><span class="p">:</span>
|
</span><span id="RobloxClient-338"><a href="#RobloxClient-338"><span class="linenos">338</span></a>
|
||||||
</span><span id="RobloxClient-339"><a href="#RobloxClient-339"><span class="linenos">339</span></a> <span class="k">raise</span> <span class="n">RateLimitError</span><span class="p">(</span><span class="s2">"Rate limit hit during onsale."</span><span class="p">)</span>
|
</span><span id="RobloxClient-339"><a href="#RobloxClient-339"><span class="linenos">339</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">429</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient-340"><a href="#RobloxClient-340"><span class="linenos">340</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="ow">in</span> <span class="p">(</span><span class="mi">401</span><span class="p">,</span> <span class="mi">403</span><span class="p">):</span>
|
</span><span id="RobloxClient-340"><a href="#RobloxClient-340"><span class="linenos">340</span></a> <span class="k">raise</span> <span class="n">RateLimitError</span><span class="p">(</span><span class="s2">"Rate limit hit during onsale."</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-341"><a href="#RobloxClient-341"><span class="linenos">341</span></a> <span class="k">raise</span> <span class="n">AuthError</span><span class="p">(</span><span class="s2">"Not authorized to put this asset on sale."</span><span class="p">)</span>
|
</span><span id="RobloxClient-341"><a href="#RobloxClient-341"><span class="linenos">341</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="ow">in</span> <span class="p">(</span><span class="mi">401</span><span class="p">,</span> <span class="mi">403</span><span class="p">):</span>
|
||||||
</span><span id="RobloxClient-342"><a href="#RobloxClient-342"><span class="linenos">342</span></a>
|
</span><span id="RobloxClient-342"><a href="#RobloxClient-342"><span class="linenos">342</span></a> <span class="k">raise</span> <span class="n">AuthError</span><span class="p">(</span><span class="s2">"Not authorized to put this asset on sale."</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-343"><a href="#RobloxClient-343"><span class="linenos">343</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-343"><a href="#RobloxClient-343"><span class="linenos">343</span></a>
|
||||||
</span><span id="RobloxClient-344"><a href="#RobloxClient-344"><span class="linenos">344</span></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">text</span> <span class="k">else</span> <span class="p">{}</span>
|
</span><span id="RobloxClient-344"><a href="#RobloxClient-344"><span class="linenos">344</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-345"><a href="#RobloxClient-345"><span class="linenos">345</span></a>
|
</span><span id="RobloxClient-345"><a href="#RobloxClient-345"><span class="linenos">345</span></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">text</span> <span class="k">else</span> <span class="p">{}</span>
|
||||||
</span><span id="RobloxClient-346"><a href="#RobloxClient-346"><span class="linenos">346</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="n">max_attempts</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">poll_interval</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">3.0</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
</span><span id="RobloxClient-346"><a href="#RobloxClient-346"><span class="linenos">346</span></a>
|
||||||
</span><span id="RobloxClient-347"><a href="#RobloxClient-347"><span class="linenos">347</span></a><span class="w"> </span><span class="sd">"""Look up the collectible item ID (UUID) for a given asset ID, retrying until available."""</span>
|
</span><span id="RobloxClient-347"><a href="#RobloxClient-347"><span class="linenos">347</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="n">max_attempts</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">poll_interval</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">3.0</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient-348"><a href="#RobloxClient-348"><span class="linenos">348</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_attempts</span><span class="p">):</span>
|
</span><span id="RobloxClient-348"><a href="#RobloxClient-348"><span class="linenos">348</span></a><span class="w"> </span><span class="sd">"""Look up the collectible item ID (UUID) for a given asset ID, retrying until available."""</span>
|
||||||
</span><span id="RobloxClient-349"><a href="#RobloxClient-349"><span class="linenos">349</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">get</span><span class="p">(</span>
|
</span><span id="RobloxClient-349"><a href="#RobloxClient-349"><span class="linenos">349</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_attempts</span><span class="p">):</span>
|
||||||
</span><span id="RobloxClient-350"><a href="#RobloxClient-350"><span class="linenos">350</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/0/</span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="RobloxClient-350"><a href="#RobloxClient-350"><span class="linenos">350</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">get</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient-351"><a href="#RobloxClient-351"><span class="linenos">351</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-351"><a href="#RobloxClient-351"><span class="linenos">351</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/0/</span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient-352"><a href="#RobloxClient-352"><span class="linenos">352</span></a> <span class="p">)</span>
|
</span><span id="RobloxClient-352"><a href="#RobloxClient-352"><span class="linenos">352</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-353"><a href="#RobloxClient-353"><span class="linenos">353</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-353"><a href="#RobloxClient-353"><span class="linenos">353</span></a> <span class="p">)</span>
|
||||||
</span><span id="RobloxClient-354"><a href="#RobloxClient-354"><span class="linenos">354</span></a> <span class="n">collectible_item_id</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">"collectibleItemId"</span><span class="p">)</span>
|
</span><span id="RobloxClient-354"><a href="#RobloxClient-354"><span class="linenos">354</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-355"><a href="#RobloxClient-355"><span class="linenos">355</span></a> <span class="k">if</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
</span><span id="RobloxClient-355"><a href="#RobloxClient-355"><span class="linenos">355</span></a> <span class="n">collectible_item_id</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">"collectibleItemId"</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-356"><a href="#RobloxClient-356"><span class="linenos">356</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
</span><span id="RobloxClient-356"><a href="#RobloxClient-356"><span class="linenos">356</span></a> <span class="k">if</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient-357"><a href="#RobloxClient-357"><span class="linenos">357</span></a> <span class="k">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">poll_interval</span><span class="p">)</span>
|
</span><span id="RobloxClient-357"><a href="#RobloxClient-357"><span class="linenos">357</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
||||||
</span><span id="RobloxClient-358"><a href="#RobloxClient-358"><span class="linenos">358</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"collectibleItemId not available for asset </span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2"> after </span><span class="si">{</span><span class="n">max_attempts</span><span class="si">}</span><span class="s2"> attempts."</span><span class="p">)</span>
|
</span><span id="RobloxClient-358"><a href="#RobloxClient-358"><span class="linenos">358</span></a> <span class="k">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">poll_interval</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-359"><a href="#RobloxClient-359"><span class="linenos">359</span></a>
|
</span><span id="RobloxClient-359"><a href="#RobloxClient-359"><span class="linenos">359</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"collectibleItemId not available for asset </span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2"> after </span><span class="si">{</span><span class="n">max_attempts</span><span class="si">}</span><span class="s2"> attempts."</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient-360"><a href="#RobloxClient-360"><span class="linenos">360</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-360"><a href="#RobloxClient-360"><span class="linenos">360</span></a>
|
||||||
</span><span id="RobloxClient-361"><a href="#RobloxClient-361"><span class="linenos">361</span></a><span class="w"> </span><span class="sd">"""Close the underlying HTTP client."""</span>
|
</span><span id="RobloxClient-361"><a href="#RobloxClient-361"><span class="linenos">361</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-362"><a href="#RobloxClient-362"><span class="linenos">362</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-362"><a href="#RobloxClient-362"><span class="linenos">362</span></a><span class="w"> </span><span class="sd">"""Close the underlying HTTP client."""</span>
|
||||||
</span><span id="RobloxClient-363"><a href="#RobloxClient-363"><span class="linenos">363</span></a>
|
</span><span id="RobloxClient-363"><a href="#RobloxClient-363"><span class="linenos">363</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-364"><a href="#RobloxClient-364"><span class="linenos">364</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-364"><a href="#RobloxClient-364"><span class="linenos">364</span></a>
|
||||||
</span><span id="RobloxClient-365"><a href="#RobloxClient-365"><span class="linenos">365</span></a> <span class="k">return</span> <span class="bp">self</span>
|
</span><span id="RobloxClient-365"><a href="#RobloxClient-365"><span class="linenos">365</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-366"><a href="#RobloxClient-366"><span class="linenos">366</span></a>
|
</span><span id="RobloxClient-366"><a href="#RobloxClient-366"><span class="linenos">366</span></a> <span class="k">return</span> <span class="bp">self</span>
|
||||||
</span><span id="RobloxClient-367"><a href="#RobloxClient-367"><span class="linenos">367</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-367"><a href="#RobloxClient-367"><span class="linenos">367</span></a>
|
||||||
</span><span id="RobloxClient-368"><a href="#RobloxClient-368"><span class="linenos">368</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-368"><a href="#RobloxClient-368"><span class="linenos">368</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-369"><a href="#RobloxClient-369"><span class="linenos">369</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>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
@@ -961,8 +962,9 @@ failures in the returned BatchResult.</p>
|
|||||||
</span><span id="RobloxClient.publish_collectible-304"><a href="#RobloxClient.publish_collectible-304"><span class="linenos">304</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
</span><span id="RobloxClient.publish_collectible-304"><a href="#RobloxClient.publish_collectible-304"><span class="linenos">304</span></a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||||||
</span><span id="RobloxClient.publish_collectible-305"><a href="#RobloxClient.publish_collectible-305"><span class="linenos">305</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"collectibleItemId"</span><span class="p">)</span>
|
</span><span id="RobloxClient.publish_collectible-305"><a href="#RobloxClient.publish_collectible-305"><span class="linenos">305</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"collectibleItemId"</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient.publish_collectible-306"><a href="#RobloxClient.publish_collectible-306"><span class="linenos">306</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
</span><span id="RobloxClient.publish_collectible-306"><a href="#RobloxClient.publish_collectible-306"><span class="linenos">306</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient.publish_collectible-307"><a href="#RobloxClient.publish_collectible-307"><span class="linenos">307</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"publish_collectible did not return a collectibleItemId: </span><span class="si">{</span><span class="n">data</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
</span><span id="RobloxClient.publish_collectible-307"><a href="#RobloxClient.publish_collectible-307"><span class="linenos">307</span></a> <span class="c1"># status=0 means already published — look up the ID</span>
|
||||||
</span><span id="RobloxClient.publish_collectible-308"><a href="#RobloxClient.publish_collectible-308"><span class="linenos">308</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
</span><span id="RobloxClient.publish_collectible-308"><a href="#RobloxClient.publish_collectible-308"><span class="linenos">308</span></a> <span class="n">collectible_item_id</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_collectible_item_id</span><span class="p">(</span><span class="n">asset_id</span><span class="p">)</span>
|
||||||
|
</span><span id="RobloxClient.publish_collectible-309"><a href="#RobloxClient.publish_collectible-309"><span class="linenos">309</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
@@ -982,41 +984,41 @@ failures in the returned BatchResult.</p>
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#RobloxClient.onsale_asset"></a>
|
<a class="headerlink" href="#RobloxClient.onsale_asset"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.onsale_asset-310"><a href="#RobloxClient.onsale_asset-310"><span class="linenos">310</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">onsale_asset</span><span class="p">(</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.onsale_asset-311"><a href="#RobloxClient.onsale_asset-311"><span class="linenos">311</span></a> <span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">onsale_asset</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-311"><a href="#RobloxClient.onsale_asset-311"><span class="linenos">311</span></a> <span class="bp">self</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-312"><a href="#RobloxClient.onsale_asset-312"><span class="linenos">312</span></a> <span class="bp">self</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-312"><a href="#RobloxClient.onsale_asset-312"><span class="linenos">312</span></a> <span class="n">collectible_item_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-313"><a href="#RobloxClient.onsale_asset-313"><span class="linenos">313</span></a> <span class="n">collectible_item_id</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-313"><a href="#RobloxClient.onsale_asset-313"><span class="linenos">313</span></a> <span class="n">price</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-314"><a href="#RobloxClient.onsale_asset-314"><span class="linenos">314</span></a> <span class="n">price</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">5</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-314"><a href="#RobloxClient.onsale_asset-314"><span class="linenos">314</span></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
</span><span id="RobloxClient.onsale_asset-315"><a href="#RobloxClient.onsale_asset-315"><span class="linenos">315</span></a> <span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-315"><a href="#RobloxClient.onsale_asset-315"><span class="linenos">315</span></a><span class="w"> </span><span class="sd">"""Put an asset on sale."""</span>
|
</span><span id="RobloxClient.onsale_asset-316"><a href="#RobloxClient.onsale_asset-316"><span class="linenos">316</span></a><span class="w"> </span><span class="sd">"""Put an asset on sale."""</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-316"><a href="#RobloxClient.onsale_asset-316"><span class="linenos">316</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.onsale_asset-317"><a href="#RobloxClient.onsale_asset-317"><span class="linenos">317</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.onsale_asset-317"><a href="#RobloxClient.onsale_asset-317"><span class="linenos">317</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">patch</span><span class="p">(</span>
|
</span><span id="RobloxClient.onsale_asset-318"><a href="#RobloxClient.onsale_asset-318"><span class="linenos">318</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">patch</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-318"><a href="#RobloxClient.onsale_asset-318"><span class="linenos">318</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/</span><span class="si">{</span><span class="n">collectible_item_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-319"><a href="#RobloxClient.onsale_asset-319"><span class="linenos">319</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/</span><span class="si">{</span><span class="n">collectible_item_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-319"><a href="#RobloxClient.onsale_asset-319"><span class="linenos">319</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
</span><span id="RobloxClient.onsale_asset-320"><a href="#RobloxClient.onsale_asset-320"><span class="linenos">320</span></a> <span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-320"><a href="#RobloxClient.onsale_asset-320"><span class="linenos">320</span></a> <span class="s2">"saleLocationConfiguration"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"saleLocationType"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"places"</span><span class="p">:</span> <span class="p">[]},</span>
|
</span><span id="RobloxClient.onsale_asset-321"><a href="#RobloxClient.onsale_asset-321"><span class="linenos">321</span></a> <span class="s2">"saleLocationConfiguration"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"saleLocationType"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">"places"</span><span class="p">:</span> <span class="p">[]},</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-321"><a href="#RobloxClient.onsale_asset-321"><span class="linenos">321</span></a> <span class="s2">"saleStatus"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-322"><a href="#RobloxClient.onsale_asset-322"><span class="linenos">322</span></a> <span class="s2">"saleStatus"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-322"><a href="#RobloxClient.onsale_asset-322"><span class="linenos">322</span></a> <span class="s2">"quantityLimitPerUser"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-323"><a href="#RobloxClient.onsale_asset-323"><span class="linenos">323</span></a> <span class="s2">"quantityLimitPerUser"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-323"><a href="#RobloxClient.onsale_asset-323"><span class="linenos">323</span></a> <span class="s2">"resaleRestriction"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-324"><a href="#RobloxClient.onsale_asset-324"><span class="linenos">324</span></a> <span class="s2">"resaleRestriction"</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-324"><a href="#RobloxClient.onsale_asset-324"><span class="linenos">324</span></a> <span class="s2">"priceInRobux"</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-325"><a href="#RobloxClient.onsale_asset-325"><span class="linenos">325</span></a> <span class="s2">"priceInRobux"</span><span class="p">:</span> <span class="n">price</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-325"><a href="#RobloxClient.onsale_asset-325"><span class="linenos">325</span></a> <span class="s2">"priceOffset"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-326"><a href="#RobloxClient.onsale_asset-326"><span class="linenos">326</span></a> <span class="s2">"priceOffset"</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-326"><a href="#RobloxClient.onsale_asset-326"><span class="linenos">326</span></a> <span class="s2">"optOutFromRegionalPricing"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-327"><a href="#RobloxClient.onsale_asset-327"><span class="linenos">327</span></a> <span class="s2">"optOutFromRegionalPricing"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-327"><a href="#RobloxClient.onsale_asset-327"><span class="linenos">327</span></a> <span class="s2">"isFree"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-328"><a href="#RobloxClient.onsale_asset-328"><span class="linenos">328</span></a> <span class="s2">"isFree"</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-328"><a href="#RobloxClient.onsale_asset-328"><span class="linenos">328</span></a> <span class="p">},</span>
|
</span><span id="RobloxClient.onsale_asset-329"><a href="#RobloxClient.onsale_asset-329"><span class="linenos">329</span></a> <span class="p">},</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-329"><a href="#RobloxClient.onsale_asset-329"><span class="linenos">329</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
|
</span><span id="RobloxClient.onsale_asset-330"><a href="#RobloxClient.onsale_asset-330"><span class="linenos">330</span></a> <span class="n">headers</span><span class="o">=</span><span class="p">{</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-330"><a href="#RobloxClient.onsale_asset-330"><span class="linenos">330</span></a> <span class="s2">"X-CSRF-TOKEN"</span><span class="p">:</span> <span class="n">csrf</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-331"><a href="#RobloxClient.onsale_asset-331"><span class="linenos">331</span></a> <span class="s2">"X-CSRF-TOKEN"</span><span class="p">:</span> <span class="n">csrf</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-331"><a href="#RobloxClient.onsale_asset-331"><span class="linenos">331</span></a> <span class="s2">"User-Agent"</span><span class="p">:</span> <span class="s2">"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0"</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-332"><a href="#RobloxClient.onsale_asset-332"><span class="linenos">332</span></a> <span class="s2">"User-Agent"</span><span class="p">:</span> <span class="s2">"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-332"><a href="#RobloxClient.onsale_asset-332"><span class="linenos">332</span></a> <span class="s2">"Referer"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com/"</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-333"><a href="#RobloxClient.onsale_asset-333"><span class="linenos">333</span></a> <span class="s2">"Referer"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com/"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-333"><a href="#RobloxClient.onsale_asset-333"><span class="linenos">333</span></a> <span class="s2">"Origin"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com"</span><span class="p">,</span>
|
</span><span id="RobloxClient.onsale_asset-334"><a href="#RobloxClient.onsale_asset-334"><span class="linenos">334</span></a> <span class="s2">"Origin"</span><span class="p">:</span> <span class="s2">"https://create.roblox.com"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-334"><a href="#RobloxClient.onsale_asset-334"><span class="linenos">334</span></a> <span class="p">},</span>
|
</span><span id="RobloxClient.onsale_asset-335"><a href="#RobloxClient.onsale_asset-335"><span class="linenos">335</span></a> <span class="p">},</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-335"><a href="#RobloxClient.onsale_asset-335"><span class="linenos">335</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.onsale_asset-336"><a href="#RobloxClient.onsale_asset-336"><span class="linenos">336</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.onsale_asset-336"><a href="#RobloxClient.onsale_asset-336"><span class="linenos">336</span></a> <span class="p">)</span>
|
</span><span id="RobloxClient.onsale_asset-337"><a href="#RobloxClient.onsale_asset-337"><span class="linenos">337</span></a> <span class="p">)</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-337"><a href="#RobloxClient.onsale_asset-337"><span class="linenos">337</span></a>
|
</span><span id="RobloxClient.onsale_asset-338"><a href="#RobloxClient.onsale_asset-338"><span class="linenos">338</span></a>
|
||||||
</span><span id="RobloxClient.onsale_asset-338"><a href="#RobloxClient.onsale_asset-338"><span class="linenos">338</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">429</span><span class="p">:</span>
|
</span><span id="RobloxClient.onsale_asset-339"><a href="#RobloxClient.onsale_asset-339"><span class="linenos">339</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">429</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-339"><a href="#RobloxClient.onsale_asset-339"><span class="linenos">339</span></a> <span class="k">raise</span> <span class="n">RateLimitError</span><span class="p">(</span><span class="s2">"Rate limit hit during onsale."</span><span class="p">)</span>
|
</span><span id="RobloxClient.onsale_asset-340"><a href="#RobloxClient.onsale_asset-340"><span class="linenos">340</span></a> <span class="k">raise</span> <span class="n">RateLimitError</span><span class="p">(</span><span class="s2">"Rate limit hit during onsale."</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-340"><a href="#RobloxClient.onsale_asset-340"><span class="linenos">340</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="ow">in</span> <span class="p">(</span><span class="mi">401</span><span class="p">,</span> <span class="mi">403</span><span class="p">):</span>
|
</span><span id="RobloxClient.onsale_asset-341"><a href="#RobloxClient.onsale_asset-341"><span class="linenos">341</span></a> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="ow">in</span> <span class="p">(</span><span class="mi">401</span><span class="p">,</span> <span class="mi">403</span><span class="p">):</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-341"><a href="#RobloxClient.onsale_asset-341"><span class="linenos">341</span></a> <span class="k">raise</span> <span class="n">AuthError</span><span class="p">(</span><span class="s2">"Not authorized to put this asset on sale."</span><span class="p">)</span>
|
</span><span id="RobloxClient.onsale_asset-342"><a href="#RobloxClient.onsale_asset-342"><span class="linenos">342</span></a> <span class="k">raise</span> <span class="n">AuthError</span><span class="p">(</span><span class="s2">"Not authorized to put this asset on sale."</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient.onsale_asset-342"><a href="#RobloxClient.onsale_asset-342"><span class="linenos">342</span></a>
|
</span><span id="RobloxClient.onsale_asset-343"><a href="#RobloxClient.onsale_asset-343"><span class="linenos">343</span></a>
|
||||||
</span><span id="RobloxClient.onsale_asset-343"><a href="#RobloxClient.onsale_asset-343"><span class="linenos">343</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.onsale_asset-344"><a href="#RobloxClient.onsale_asset-344"><span class="linenos">344</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.onsale_asset-344"><a href="#RobloxClient.onsale_asset-344"><span class="linenos">344</span></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">text</span> <span class="k">else</span> <span class="p">{}</span>
|
</span><span id="RobloxClient.onsale_asset-345"><a href="#RobloxClient.onsale_asset-345"><span class="linenos">345</span></a> <span class="k">return</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span> <span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">text</span> <span class="k">else</span> <span class="p">{}</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
@@ -1036,19 +1038,19 @@ failures in the returned BatchResult.</p>
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#RobloxClient.get_collectible_item_id"></a>
|
<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-346"><a href="#RobloxClient.get_collectible_item_id-346"><span class="linenos">346</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="n">max_attempts</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">poll_interval</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">3.0</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.get_collectible_item_id-347"><a href="#RobloxClient.get_collectible_item_id-347"><span class="linenos">347</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="n">max_attempts</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">10</span><span class="p">,</span> <span class="n">poll_interval</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">3.0</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-347"><a href="#RobloxClient.get_collectible_item_id-347"><span class="linenos">347</span></a><span class="w"> </span><span class="sd">"""Look up the collectible item ID (UUID) for a given asset ID, retrying until available."""</span>
|
</span><span id="RobloxClient.get_collectible_item_id-348"><a href="#RobloxClient.get_collectible_item_id-348"><span class="linenos">348</span></a><span class="w"> </span><span class="sd">"""Look up the collectible item ID (UUID) for a given asset ID, retrying until available."""</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-348"><a href="#RobloxClient.get_collectible_item_id-348"><span class="linenos">348</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_attempts</span><span class="p">):</span>
|
</span><span id="RobloxClient.get_collectible_item_id-349"><a href="#RobloxClient.get_collectible_item_id-349"><span class="linenos">349</span></a> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">max_attempts</span><span class="p">):</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-349"><a href="#RobloxClient.get_collectible_item_id-349"><span class="linenos">349</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">get</span><span class="p">(</span>
|
</span><span id="RobloxClient.get_collectible_item_id-350"><a href="#RobloxClient.get_collectible_item_id-350"><span class="linenos">350</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">get</span><span class="p">(</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-350"><a href="#RobloxClient.get_collectible_item_id-350"><span class="linenos">350</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/0/</span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
</span><span id="RobloxClient.get_collectible_item_id-351"><a href="#RobloxClient.get_collectible_item_id-351"><span class="linenos">351</span></a> <span class="sa">f</span><span class="s2">"https://itemconfiguration.roblox.com/v1/collectibles/0/</span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2">"</span><span class="p">,</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-351"><a href="#RobloxClient.get_collectible_item_id-351"><span class="linenos">351</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-352"><a href="#RobloxClient.get_collectible_item_id-352"><span class="linenos">352</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-352"><a href="#RobloxClient.get_collectible_item_id-352"><span class="linenos">352</span></a> <span class="p">)</span>
|
</span><span id="RobloxClient.get_collectible_item_id-353"><a href="#RobloxClient.get_collectible_item_id-353"><span class="linenos">353</span></a> <span class="p">)</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-353"><a href="#RobloxClient.get_collectible_item_id-353"><span class="linenos">353</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-354"><a href="#RobloxClient.get_collectible_item_id-354"><span class="linenos">354</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-354"><a href="#RobloxClient.get_collectible_item_id-354"><span class="linenos">354</span></a> <span class="n">collectible_item_id</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">"collectibleItemId"</span><span class="p">)</span>
|
</span><span id="RobloxClient.get_collectible_item_id-355"><a href="#RobloxClient.get_collectible_item_id-355"><span class="linenos">355</span></a> <span class="n">collectible_item_id</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">"collectibleItemId"</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-355"><a href="#RobloxClient.get_collectible_item_id-355"><span class="linenos">355</span></a> <span class="k">if</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
</span><span id="RobloxClient.get_collectible_item_id-356"><a href="#RobloxClient.get_collectible_item_id-356"><span class="linenos">356</span></a> <span class="k">if</span> <span class="n">collectible_item_id</span><span class="p">:</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-356"><a href="#RobloxClient.get_collectible_item_id-356"><span class="linenos">356</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
</span><span id="RobloxClient.get_collectible_item_id-357"><a href="#RobloxClient.get_collectible_item_id-357"><span class="linenos">357</span></a> <span class="k">return</span> <span class="n">collectible_item_id</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-357"><a href="#RobloxClient.get_collectible_item_id-357"><span class="linenos">357</span></a> <span class="k">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">poll_interval</span><span class="p">)</span>
|
</span><span id="RobloxClient.get_collectible_item_id-358"><a href="#RobloxClient.get_collectible_item_id-358"><span class="linenos">358</span></a> <span class="k">await</span> <span class="n">asyncio</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">poll_interval</span><span class="p">)</span>
|
||||||
</span><span id="RobloxClient.get_collectible_item_id-358"><a href="#RobloxClient.get_collectible_item_id-358"><span class="linenos">358</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"collectibleItemId not available for asset </span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2"> after </span><span class="si">{</span><span class="n">max_attempts</span><span class="si">}</span><span class="s2"> attempts."</span><span class="p">)</span>
|
</span><span id="RobloxClient.get_collectible_item_id-359"><a href="#RobloxClient.get_collectible_item_id-359"><span class="linenos">359</span></a> <span class="k">raise</span> <span class="n">UploadError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"collectibleItemId not available for asset </span><span class="si">{</span><span class="n">asset_id</span><span class="si">}</span><span class="s2"> after </span><span class="si">{</span><span class="n">max_attempts</span><span class="si">}</span><span class="s2"> attempts."</span><span class="p">)</span>
|
||||||
</span></pre></div>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
@@ -1068,9 +1070,9 @@ failures in the returned BatchResult.</p>
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<a class="headerlink" href="#RobloxClient.close"></a>
|
<a class="headerlink" href="#RobloxClient.close"></a>
|
||||||
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.close-360"><a href="#RobloxClient.close-360"><span class="linenos">360</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>
|
<div class="pdoc-code codehilite"><pre><span></span><span id="RobloxClient.close-361"><a href="#RobloxClient.close-361"><span class="linenos">361</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-361"><a href="#RobloxClient.close-361"><span class="linenos">361</span></a><span class="w"> </span><span class="sd">"""Close the underlying HTTP client."""</span>
|
</span><span id="RobloxClient.close-362"><a href="#RobloxClient.close-362"><span class="linenos">362</span></a><span class="w"> </span><span class="sd">"""Close the underlying HTTP client."""</span>
|
||||||
</span><span id="RobloxClient.close-362"><a href="#RobloxClient.close-362"><span class="linenos">362</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.close-363"><a href="#RobloxClient.close-363"><span class="linenos">363</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>
|
</span></pre></div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user