@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, при любом выводе событий из этой библиотеки нужно избавляться от строки ввода и заново прописывать или вовсе её перемещать ниже.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
fenrir1121
@fenrir1121
Начни с документации
При чем тут дискорд и асинхронное программирование?
Вообще не понятно что и куда вы хотите вводить, но судя по скриншотам консоль майнкрафт это две отдельных формы: textbox и inputbox, стандартный терминал так не умеет.
Можете сделать гуй на tkinter из tk.Text и tk.Entry
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы