Top.Mail.Ru
Ответы

Пишу ТГ бот chatGPT на python через сам GPT

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
 import telegram 
from telegram.ext import Updater, MessageHandler, CommandHandler, filters 
import openai 
import os 
import tempfile 
import speech_recognition as sr 
from telegram.ext.utils import UpdateQueue 
 
# Токен бота 
TOKEN = 'YOUR_TOKEN_HERE' 
 
# Токен OpenAI 
openai.api_key = 'YOUR_OPENAI_API_KEY_HERE' 
 
def start(update, context): 
    context.bot.send_message(chat_id=update.effective_chat.id, text="Привет! Я могу ответить на любой ваш вопрос") 
 
def echo(update, context): 
    # Получаем текст сообщения от пользователя 
    user_input = update.message.text 
    # Генерируем ответ с помощью OpenAI 
    response = openai.Completion.create( 
        engine='davinci', 
        prompt=user_input, 
        max_tokens=100 
    ) 
    # Отправляем ответ пользователю 
    context.bot.send_message(chat_id=update.effective_chat.id, text=response.choices[0].text) 
 
def voice(update, context): 
    # Получаем объект с аудио-файлом, отправленным пользователем 
    file = context.bot.getFile(update.message.voice.file_id) 
    # Создаем временный файл для сохранения аудио 
    temp_file = tempfile.NamedTemporaryFile(delete=False) 
    # Скачиваем аудио-файл и сохраняем его во временный файл 
    file.download(temp_file.name) 
    # Создаем объект для распознавания речи 
    recognizer = sr.Recognizer() 
    # Открываем временный файл и читаем из него аудио-данные 
    with sr.AudioFile(temp_file.name) as source: 
        audio_data = recognizer.record(source) 
    # Отправляем аудио на распознавание в Google Speech Recognition 
    try: 
        text = recognizer.recognize_google(audio_data, language='ru-RU') 
    except sr.UnknownValueError: 
        text = "Не удалось распознать речь" 
    # Удаляем временный файл 
    os.remove(temp_file.name) 
    # Генерируем ответ с помощью OpenAI 
    response = openai.Completion.create( 
        engine='davinci', 
        prompt=text, 
        max_tokens=100 
    ) 
    # Отправляем ответ пользователю 
    context.bot.send_message(chat_id=update.effective_chat.id, text=response.choices[0].text) 
 
def main(): 
    # Создаем объект UpdateQueue 
    update_queue = UpdateQueue() 
    # Создаем объект Updater и передаем ему токен бота и объект UpdateQueue 
    updater = Updater(TOKEN, update_queue) 
    # Получаем объект Dispatcher 
    dispatcher = updater.dispatcher 
    # Регистрируем обработчик для команды /start 
    dispatcher.add_handler(CommandHandler("start", start)) 
    # Регистрируем обработчик для текстовых сообщений 
    dispatcher.add_handler(MessageHandler(filters.text & ~filters.command, echo)) 
    # Регистрируем обработчик для голосовых сообщений 
    dispatcher.add_handler(MessageHandler(filters.voice, voice)) 
    # Запускаем бота 
    updater.start_polling() 
    # Останавливаем бота при нажатии Ctrl+C 
    updater.idle() 
 
if __name__ == '__main__': 
    main() 

Выдает ошибку
Traceback (most recent call last):
File "c:\Users\zhere\Downloads\тг бот\myenv\бот.py", line 8, in <module>
from telegram.ext.utils import UpdateQueue
ModuleNotFoundError: No module named 'telegram.ext.utils'

Помогите, что не так
Python 3.10.10, pip 23.0.1, и виртуальная среда venv

По дате
По рейтингу
Аватар пользователя
Оракул

это называется не пишу а стырил код а запустить мозгов не хватает

Аватар пользователя

[ChatGPT]

Кажется, у вас возникла ошибка ModuleNotFoundError, связанная с отсутствием модуля telegram.ext.utils в вашем коде. Эта ошибка возникает, когда требуемый модуль не установлен в вашей среде Python.

Чтобы исправить эту проблему, необходимо установить модуль в вашу среду Python. Это можно сделать, запустив следующую команду в вашем терминале или командной строке:

1
 pip install python-telegram-bot 

Эта команда установит пакет python-telegram-bot, который включает в себя модуль telegram.ext.utils, а также другие полезные модули для создания ботов в Telegram.

После завершения установки вы сможете импортировать модуль telegram.ext.utils в вашем коде Python без ошибок.

Аватар пользователя
Искусственный Интеллект

Не так то что ты юзаешь Chat дерьмо