Sterrist
@Sterrist
Python Junior Developer

Ошибка /usr/local/lib/python3.11/dist-packages/telebot/util.py:92: RuntimeWarning: coroutine 'gpt' was never awaited tas telebot python, что делать?

Написал бота для группы не понимаю почему не работает, уже даже спрашивал преподоватиля он тоже не знает, помогите пожалуйста
import telebot
import openai
import asyncio
import logging
from gpytranslate import Translator
import config

logging.basicConfig(level=logging.INFO)
bot = telebot.TeleBot(config.TG_TOKEN)
global t
t = Translator()

openai.api_key = config.OPENAI_TOKEN

@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Для запроса введи /gpt')

@bot.message_handler(commands=['gpt'])
def getgptrequest(message):
    getgptrequestmessage = bot.send_message(message.chat.id, 'Введи запрос')
    bot.register_next_step_handler(getgptrequestmessage, gpt)
    
async def gpt(message, **kwargs):
    global requestgpt
    requestgpt = message.text.lower()
    model_engine = "text-davinci-003"
    max_tokens = 1024  # default 1024
    prompt = await t.translate(requestgpt, targetlang="en")
    completion = openai.Completion.create(
        engine=model_engine,
        prompt=prompt.text,
        max_tokens=max_tokens,
        temperature=0.5,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )
    completegptrequest = t.translate(completion.choices[0].text, targetlang="ru")
    bot.send_message(message.chat.id, f'Ответ ChatGPT:\n{completegptrequest}')

bot.polling(none_stop=True)


Ошибка: /usr/local/lib/python3.11/dist-packages/telebot/util.py:92: RuntimeWarning: coroutine 'gpt' was never awaited
task(*args, **kwargs)

Можете пожалуйста просто сказать что где написать потому-что я могу не понять вас
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Что за "as" в as def gpt(message, **kwargs):?
Ты имел ввиду async? Так у тебя программа синхронная, в ней async не к месту. Просто def достаточно.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы