Поддержка интерактивных промптов bash скриптов в Telegram боте на Python

Написав небольшого бота для телеграм бота, который выполняет простую функцию: Сообщение пользователя - команда отправляющаяся в терминал на хосте, а ответ бота - вывод терминала я столкнулся с проблемой: Нет возможности использовать любые скрипты использующее интерактивный ввод, тот-же sudo, из-за чего приходится лезть в терминал.

Прошу знающих ответить, и помочь, возможно ли сделать эту поддержку? Предполагаю можно использовать библиотеку pexpect, но я пока не понял как.

Код ниже

import subprocess
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters

TOKEN = ""

# Функция для обработки команды /start
def start(update, context):
    update.message.reply_text("First Message.")

# Функция для выполнения команды из сообщения пользователя
def execute_command(update, context):
    # Получение команды пользвателя
    command = update.message.text
    try:
        # Выпонение команды в терминале и получение результата
        result = subprocess.check_output(command, shell=True, text=True)
        # Отправка результата обратно в чат
        update.message.reply_text(result)
    except Exception as e:
        # Вывод ошибок
        update.message.reply_text(f"Ошибка: {str(e)}")

# Основная функция бота
def main():
    # Объект Updater
    updater = Updater(TOKEN, use_context=True)
    dp = updater.dispatcher

    # Добавляем обработчик для команды /start
    dp.add_handler(CommandHandler("start", start))
    # Обработчик для текстовых сообщений, которые не являются командами
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, execute_command))

    # Запуск бота в режиме опроса
    updater.start_polling()
    # Запуск бота и идл
    updater.idle()

if name == "main":
    main()

Ответы (0 шт):