Wolf_Yout
@Wolf_Yout

При попытке отправить сообщение от имени вебхука возвращает очень большую ошибку, что делать?

Я хотел на Disnake сделать отправку от имени вебхуков:
@bot.event
async def on_message(msg):
for webhook in await msg.channel.webhooks():
        if webhook.user == bot.user:
            if msg.content.startswith(webhook.name):
                url = None
                try:
                    url = Memory.read(f"avatars/{msg.channel.id}{webhook.name}webhook.txt")
                except:
                    await webhook.send(content = msg.content[len(webhook.name) + 1:])
                    await msg.delete()
                else:
                    await webhook.send(content = msg.content[len(webhook.name) + 1:], avatar_url=url)
                    await msg.delete()

Сначала бот работал(Удалёных сообщений на скриншоте естественно нет.):
image.png
Но через некоторое время бот перестал работать:
image.png
А в консоли вернуло
ошибку
Ignoring exception in on_message
Traceback (most recent call last):
  File "/home/container/.local/lib/python3.9/site-packages/disnake/client.py", line 700, in _run_event
    await coro(*args, **kwargs)
  File "/home/container/main.py", line 1295, in on_message
    await webhook.send(content = msg.content[len(webhook.name) + 1:], avatar_url=url)
  File "/home/container/.local/lib/python3.9/site-packages/disnake/webhook/async_.py", line 1664, in send
    data = await adapter.execute_webhook(
  File "/home/container/.local/lib/python3.9/site-packages/disnake/webhook/async_.py", line 181, in request
    raise HTTPException(response, data)
disnake.errors.HTTPException: 429 Too Many Requests (error code: 0): <!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
<title>Access denied | discord.com used Cloudflare to restrict access</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/main.css" />
<script>
(function(){if(document.addEventListener&&window.XMLHttpRequest&&JSON&&JSON.stringify){var e=function(a){var c=document.getElementById("error-feedback-survey"),d=document.getElementById("error-feedback-success"),b=new XMLHttpRequest;a={event:"feedback clicked",properties:{errorCode:1015,helpful:a,version:1}};b.open("POST","https://sparrow.cloudflare.com/api/v1/event");b.setRequestHeader("Content-Type","application/json");b.setRequestHeader("Sparrow-Source-Key","c771f0e4b54944bebf4261d44bd79a1e");
b.send(JSON.stringify(a));c.classList.add("feedback-hidden");d.classList.remove("feedback-hidden")};document.addEventListener("DOMContentLoaded",function(){var a=document.getElementById("error-feedback"),c=document.getElementById("feedback-button-yes"),d=document.getElementById("feedback-button-no");"classList"in a&&(a.classList.remove("feedback-hidden"),c.addEventListener("click",function(){e(!0)}),d.addEventListener("click",function(){e(!1)}))})}})();
</script>
<script defer src="https://performance.radar.cloudflare.com/beacon.js"></script>
</head>
<body>
  <div id="cf-wrapper">
    <div class="cf-alert cf-alert-error cf-cookie-error hidden" id="cookie-alert" data-translate="enable_cookies">Please enable cookies.</div>
    <div id="cf-error-details" class="p-0">
      <header class="mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-15 antialiased">
         <h1 class="inline-block md:block mr-2 md:mb-2 font-light text-60 md:text-3xl text-black-dark leading-tight">
           <span data-translate="error">Error</span>
           <span>1015</span>
         </h1>
         <span class="inline-block md:block heading-ray-id font-mono text-15 lg:text-sm lg:leading-relaxed">Ray ID: 779f6a95ad18219f &bull;</span>
         <span class="inline-block md:block heading-ray-id font-mono text-15 lg:text-sm lg:leading-relaxed">2022-12-15 13:09:54 UTC</span>
        <h2 class="text-gray-600 leading-1.3 text-3xl lg:text-2xl font-light">You are being rate limited</h2>
      </header>
      <section class="w-240 lg:w-full mx-auto mb-8 lg:px-8">
          <div id="what-happened-section" class="w-1/2 md:w-full">
            <h2 class="text-3xl leading-tight font-normal mb-4 text-black-dark antialiased" data-translate="what_happened">What happened?</h2>
            <p>The owner of this website (discord.com) has banned you temporarily from accessing this website.</p>
            
          </div>
          
      </section>
      <div class="feedback-hidden py-8 text-center" id="error-feedback">
    <div id="error-feedback-survey" class="footer-line-wrapper">
        Was this page helpful?
        <button class="border border-solid bg-white cf-button cursor-pointer ml-4 px-4 py-2 rounded" id="feedback-button-yes" type="button">Yes</button>
        <button class="border border-solid bg-white cf-button cursor-pointer ml-4 px-4 py-2 rounded" id="feedback-button-no" type="button">No</button>
    </div>
    <div class="feedback-success feedback-hidden" id="error-feedback-success">
        Thank you for your feedback!
    </div>
</div>
      <div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">
  <p class="text-13">
    <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">779f6a95ad18219f</strong></span>
    <span class="cf-footer-separator sm:hidden">&bull;</span>
    <span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">
      Your IP:
      <button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>
      <span class="hidden" id="cf-footer-ip">149.102.143.10</span>
      <span class="cf-footer-separator sm:hidden">&bull;</span>
    </span>
    <span class="cf-footer-item sm:block sm:mb-1"><span>Performance &amp; security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing" id="brand_link" target="_blank">Cloudflare</a></span>
    
  </p>
  <script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>
</div><!-- /.error-footer -->
    </div><!-- /#cf-error-details -->
  </div><!-- /#cf-wrapper -->
  <script>
  window._cf_translation = {};
  
  
</script>
<script>(function(){var js = "window['__CF$cv$params']={r:'779f6a95ad18219f',m:'MIhPn2Q77HkZeaQ_pX0tjSIhosrBfNCtejPR.WL_sbY-1671109794-0-Abi/waRkxiZmrNI+9sc/siaN19KxYltri/CW7tdrJyMx5TPzNYTu+TOHq57eRWDhB7ypSeYvB/m8cCnWzL38qjGeS0I/0gKIs++OV0t9VzVfXdKauQThbNDYYMv1r76Acm7PQK7Ufrrqe0HFMLkaCtnlQmQH5nynzb0YNt6lnDo6nBO+jVr7I65E8rUN0uO6eS+eMZConqjlf1o3cVkuVtUL7QaFil2N2jdtR4uKLDEAX8OIQGVn8c83coTW0Mloe2xHlX1NAf7nrgk2aYsZQ3U=',s:[0x950328ec25,0x9ca4d766ab],u:'/cdn-cgi/challenge-platform/h/g'};var now=Date.now()/1000,offset=14400,ts=''+(Math.floor(now)-Math.floor(now%offset)),_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/h/g/scripts/alpha/invisible.js?ts='+ts,document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.nonce = '';_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>
</html>

Права у бота за это время никто не спёр, как это исправить?
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!
@bot.event
async def on_message(msg):
for webhook in await msg.channel.webhooks():
        if webhook.user == bot.user:
            if msg.content.startswith(webhook.name):
                url = None
                try:
                    url = Memory.read(f"avatars/{msg.channel.id}{webhook.name}webhook.txt")
                except disnake.errors.HTTPException:
                    await webhook.send(content="Слишком много запросов отправлено! Пожалуйста подождите...")
                except:
                    await webhook.send(content = msg.content[len(webhook.name) + 1:])
                    await msg.delete()
                else:
                    await webhook.send(content = msg.content[len(webhook.name) + 1:], avatar_url=url)
                    await msg.delete()


желательно: переменную webhook изменить на channel
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы