Внезапная ошибка Aiogram
Пару месяцев назад написал бота для перевода текста на китайский язык. Все работало несколько месяцев нормально, но со вчера выбивает ошибку. Писал по роликам на ютубе, поэтому не понимаю в чем заключается проблема, прошу помощи.
Сам код бота:
import openai
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
import pprint
import json
file = open('config.json', 'r')
config = json.load(file)
openai.api_key = config['openai']
bot = Bot(config['token'])
dp = Dispatcher(bot)
messages=[
{"role": "system", "content": "Переведите каждое отдельное сообщение, отправленное пользователем, на китайский язык, не добавляя никаких дополнительных фраз или информации. Не ссылайтесь на предыдущие сообщения и не пытайтесь обобщить предыдущие переводы. Каждое сообщение должно быть переведено только один раз, и последующие сообщения не должны ссылаться на предыдущие переводы. Бот не должен хранить предыдущие переводы и должен переводить каждое сообщение как отдельную единицу. никогда не возвращайтесь к предыдущим переводам, после перевода сообщения забудьте о нем. пользователь может ввести текст на любом языке, вы все равно обязаны перевести его на китайский. Если пользователь прислал вам текст на китайском языке, переведите его на русский."},
{"role": "user", "content": "Translate the text:"},
{"role": "assistant", "content": "Переведите каждое отдельное сообщение, отправленное пользователем, на китайский язык, не добавляя никаких дополнительных фраз или информации. Не ссылайтесь на предыдущие сообщения и не пытайтесь обобщить предыдущие переводы. Каждое сообщение должно быть переведено только один раз, и последующие сообщения не должны ссылаться на предыдущие переводы. Бот не должен хранить предыдущие переводы и должен переводить каждое сообщение как отдельную единицу. никогда не возвращайтесь к предыдущим переводам, после перевода сообщения забудьте о нем. пользователь может ввести текст на любом языке, вы все равно обязаны перевести его на китайский. Если пользователь прислал вам текст на китайском языке, переведите его на русский."}]
def update(messages, role, content):
messages = [{"role": role, "content": content}]
return messages
@dp.message_handler()
async def send(message : types.Message):
messages = update([], "user", "Переведи следующий текст на китайский язык. Если текст уже на китайском языке, то переведи его на русский язык. Не пиши ничего, кроме переведенной фразы, не пиши изначальное сообщение, пиши только сам перевод без дополнительных слов.:" + message.text)
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages = messages
)
await message.answer(response['choices'][0]['message']['content'])
executor.start_polling(dp, skip_updates=True)
Ошибка, которую выбивает консоль:
root@getchinabots:~# python3 main.py
Updates were skipped successfully.
Task exception was never retrieved
future: <Task finished name='Task-9' coro=<Dispatcher._process_polling_updates() done, defined at /usr/local/lib/python 3.10/dist-packages/aiogram/dispatcher/dispatcher.py:407> exception=APIError(message='HTTP code 403 from API (<!DOCTYPE html>\n<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->\n<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->\n<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->\n<!- -[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->\n<head>\n<title>Attention Required! | Cloudflare </title>\n<meta charset="UTF-8" />\n<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n<meta http-e quiv="X-UA-Compatible" content="IE=Edge" />\n<meta name="robots" content="noindex, nofollow" />\n<meta name="viewport" content="width=device-width,initial-scale=1" />\n<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.err ors.css" />\n<!--[if lt IE 9]><link rel="stylesheet" id=\'cf_styles-ie-css\' href="/cdn-cgi/styles/cf.errors.ie.css" /> <![endif]-->\n<style>body{margin:0;padding:0}</style>\n\n\n<!--[if gte IE 10]><!-->\n<script>\n if (!navigator.cookieE nabled) {\n window.addEventListener(\'DOMContentLoaded\', function () {\n var cookieEl = document.getElementByI d(\'cookie-alert\');\n cookieEl.style.display = \'block\';\n })\n }\n</script>\n<!--<![endif]-->\n\n\n</head>\ n<body>\n <div id="cf-wrapper">\n <div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-trans late="enable_cookies">Please enable cookies.</div>\n <div id="cf-error-details" class="cf-error-details-wrapper">\n <div class="cf-wrapper cf-header cf-error-overview">\n <h1 data-translate="block_headline">Sorry, you have been blocked</h1>\n <h2 class="cf-subheadline"><span data-translate="unable_to_access">You are unable to access< /span> api.openai.com</h2>\n </div><!-- /.header -->\n\n <div class="cf-section cf-highlight">\n <div class="cf-wrapper">\n <div class="cf-screenshot-container cf-screenshot-full">\n \n <s pan class="cf-no-screenshot error"></span>\n \n </div>\n </div>\n </div><!-- /.captcha- container -->\n\n <div class="cf-section cf-wrapper">\n <div class="cf-columns two">\n <div class= "cf-column">\n <h2 data-translate="blocked_why_headline">Why have I been blocked?</h2>\n\n <p dat a-translate="blocked_why_detail">This website is using a security service to protect itself from online attacks. The ac tion you just performed triggered the security solution. There are several actions that could trigger this block includ ing submitting a certain word or phrase, a SQL command or malformed data.</p>\n </div>\n\n <div class ="cf-column">\n <h2 data-translate="blocked_resolve_headline">What can I do to resolve this?</h2>\n\n <p data-translate="blocked_resolve_detail">You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.</p>\n </div>\n </div>\n </div><!-- /.section -->\n\n <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">\n <p cl ass="text-13">\n <span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">826e c1e81ae1164e</strong></span>\n <span class="cf-footer-separator sm:hidden">•</span>\n <span id="cf-footer-it em-ip" class="cf-footer-item hidden sm:block sm:mb-1">\n Your IP:\n <button type="button" id="cf-footer-ip-re veal" class="cf-footer-ip-reveal-btn">Click to reveal</button>\n <span class="hidden" id="cf-footer-ip">77.105.168 .144</span>\n <span class="cf-footer-separator sm:hidden">•</span>\n </span>\n <span class="cf-footer-i tem sm:block sm:mb-1"><span>Performance & security by</span> <a rel="noopener noreferrer" href="https://www.cloudfl are.com/5xx-error-landing" id="brand_link" target="_blank">Cloudflare</a></span>\n \n </p>\n <script>(function(){f unction 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-foote r-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d) })();</script>\n</div><!-- /.error-footer -->\n\n\n </div><!-- /#cf-error-details -->\n </div><!-- /#cf-wrapper --> \n\n <script>\n window._cf_translation = {};\n \n \n</script>\n\n</body>\n</html>\n)', http_status=403, request_id= None)>
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/openai/api_requestor.py", line 673, in _interpret_response_line
data = json.loads(rbody)
File "/usr/lib/python3.10/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/aiogram/dispatcher/dispatcher.py", line 415, in _process_polling_update s
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "/usr/local/lib/python3.10/dist-packages/aiogram/dispatcher/dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "/usr/local/lib/python3.10/dist-packages/aiogram/dispatcher/handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "/usr/local/lib/python3.10/dist-packages/aiogram/dispatcher/dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "/usr/local/lib/python3.10/dist-packages/aiogram/dispatcher/handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "/root/main.py", line 28, in send
response = openai.ChatCompletion.create(
File "/usr/local/lib/python3.10/dist-packages/openai/api_resources/chat_completion.py", line 25, in create
return super().create(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in cre ate
response, _, api_key = requestor.request(
File "/usr/local/lib/python3.10/dist-packages/openai/api_requestor.py", line 226, in request
resp, got_stream = self._interpret_response(result, stream)
File "/usr/local/lib/python3.10/dist-packages/openai/api_requestor.py", line 620, in _interpret_response
self._interpret_response_line(
File "/usr/local/lib/python3.10/dist-packages/openai/api_requestor.py", line 675, in _interpret_response_line
raise error.APIError(
openai.error.APIError: HTTP code 403 from API (<!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>Attention Required! | Cloudflare</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/cf.errors.css" />
<!--[if lt IE 9]><link rel="stylesheet" id='cf_styles-ie-css' href="/cdn-cgi/styles/cf.errors.ie.css" /><![endif]-->
<style>body{margin:0;padding:0}</style>
<!--[if gte IE 10]><!-->
<script>
if (!navigator.cookieEnabled) {
window.addEventListener('DOMContentLoaded', function () {
var cookieEl = document.getElementById('cookie-alert');
cookieEl.style.display = 'block';
})
}
</script>
<!--<![endif]-->
</head>
<body>
<div id="cf-wrapper">
<div class="cf-alert cf-alert-error cf-cookie-error" id="cookie-alert" data-translate="enable_cookies">Please enabl e cookies.</div>
<div id="cf-error-details" class="cf-error-details-wrapper">
<div class="cf-wrapper cf-header cf-error-overview">
<h1 data-translate="block_headline">Sorry, you have been blocked</h1>
<h2 class="cf-subheadline"><span data-translate="unable_to_access">You are unable to access</span> api.openai.c om</h2>
</div><!-- /.header -->
<div class="cf-section cf-highlight">
<div class="cf-wrapper">
<div class="cf-screenshot-container cf-screenshot-full">
<span class="cf-no-screenshot error"></span>
</div>
</div>
</div><!-- /.captcha-container -->
<div class="cf-section cf-wrapper">
<div class="cf-columns two">
<div class="cf-column">
<h2 data-translate="blocked_why_headline">Why have I been blocked?</h2>
<p data-translate="blocked_why_detail">This website is using a security service to protect itself from onli ne attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.</p>
</div>
<div class="cf-column">
<h2 data-translate="blocked_resolve_headline">What can I do to resolve this?</h2>
<p data-translate="blocked_resolve_detail">You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.</ p>
</div>
</div>
</div><!-- /.section -->
<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 bor der-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">826ec1e81ae1164e</st rong></span>
<span class="cf-footer-separator sm:hidden">•</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">77.105.168.144</span>
<span class="cf-footer-separator sm:hidden">•</span>
</span>
<span class="cf-footer-item sm:block sm:mb-1"><span>Performance & security by</span> <a rel="noopener noreferre r" 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.g etElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListene r("DOMContentLoaded",d)})();</script>
</div><!-- /.error-footer -->
</div><!-- /#cf-error-details -->
</div><!-- /#cf-wrapper -->
<script>
window._cf_translation = {};
</script>
</body>
</html>