Задать вопрос
@khinkalelyub

Как всегда отображать внизу строку ожидания?

Я использую библиотеки discord.py: для создания самого бота, asyncio: для создания асинхронных функций, aioconsole: для использования aioconsole.ainput - ожидание команды от пользователя консоли для управления ботом, logging: для вывода журнала в консоль и файл.

Я уже организовал свою консоль кодом ниже, но не до конца:
class ConsoleInteraction():
    def __init__(self):
        self.channel_id = None

    async def start(self):
        while True:
            command = await aioconsole.ainput(f'{self.user}: ')
            args = command.split()

            if command.lower() == 'stop':
                await self.close()
                break

Мне нужно также, как и в консоли сервера майнкрафт, где вверху в основном показан журнал событий с временными отметками (жёлтый текст на картинке ниже), а также строка ввода команд внизу (белый текст на картинке ниже). Но я не знаю как реализовать так в консоли.
649977c85a316994918474.png

Способы с каретками и curses считаю небезопасными, и мне нужно реализовать это вместе с discord.py, при любом выводе событий из этой библиотеки нужно избавляться от строки ввода и заново прописывать или вовсе её перемещать ниже.
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Фулстек-разработчик
на Python
    19 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
fenrir1121
@fenrir1121
Начни с документации
При чем тут дискорд и асинхронное программирование?
Вообще не понятно что и куда вы хотите вводить, но судя по скриншотам консоль майнкрафт это две отдельных формы: textbox и inputbox, стандартный терминал так не умеет.
Можете сделать гуй на tkinter из tk.Text и tk.Entry
Ответ написан
Ваш ответ на вопрос

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

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