Ввод роли или пользователя в команду discord py
Мне нужно сделать команду, которая бы выглядела так:
/voice permit <@member>/<@role>
Но я не знаю, как дать пользователю возможность ввести либо тег роли, либо тег пользователя одновременно.
Ответы (1 шт):
Автор решения: Baluk Ivan
→ Ссылка
from typing import Union
import discord
from discord import option
bot = discord.Bot()
@bot.slash_command()
@option("permit", Union[discord.Role, discord.Member], description="Select a permit")
async def voice(ctx, permit: Union[discord.Role, discord.Member]):
await ctx.respond(f"You selected {permit.mention} permit.")
bot.run("token")
Достаточно, просто, объединить 2 аннотации при помощи Union (или | в python3.10+).
ВАЖНО: нужно использовать последнюю версию py-cord (то, что это возможно именно в discord.py, я сомневаюсь), если Вы использовали до этого discord.py, а не py-cord, не волнуйтесь, py-cord целиком обладает обратной совместимостью с discord.py, то есть Вам достаточно, просто, удалить discord.py и скачать py-cord, разницы не будет
