Как управлять ботом через консоль Discord.py

У меня есть бот в дискорде. Например когда я запускаю бота, то меня спрашивает (input()) и если я нажимаю на кнопку 1, то он создаёт канал на сервере. Если 2, то создаёт роль и тд. Можно так сделать?


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

Автор решения: Shade

Вы можете сделать цикл while True при готовности бота, и проверять данные, это будет выглядеть так:

from discord.ext import commands
client = commands.Bot(command_prefix="!")
@client.event
async def on_ready():
    print(f"Bot logged as {client.user} | Commands: 1 -> Создание канала, 2 -> Создание роли")
    while True:
            answer=input()
            if answer=="1":
                guild = await client.get_guild(id твоего сервера)
                await guild.create_text_channel("название") #или await guild.create_voice_channel("название") если надо голосовой
            elif answer=="2":
                guild = await client.get_guild(id твоего сервера)
                await guild.create_role(name="название роли")
            elif answer=="break":
                break
client.run("TOKEN")

Таким образом при вводе 1 в консоли будет создаваться текстовый канал(или голосовой) с названием название, или же при вводе 2 будет создаваться роль с названием название роли, а при вводе break, цикл останавливается. Если не так понял вас, напишите

→ Ссылка