Я использую библиотеки
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
Мне нужно также, как и в консоли сервера майнкрафт, где вверху в основном показан журнал событий с временными отметками (жёлтый текст на картинке ниже), а также строка ввода команд внизу (белый текст на картинке ниже). Но я не знаю как реализовать так в консоли.
Способы с каретками и curses считаю небезопасными, и мне нужно реализовать это вместе с discord.py, при любом выводе событий из этой библиотеки нужно избавляться от строки ввода и заново прописывать или вовсе её перемещать ниже.