@132eee

Команда только для выбранных пользователей discord.py?

Я хочу создать команду, которую выдаёт админку. Но я понимаю, что команду может каждый может прописать. Поэтому я сделал команду только для создателя бота. Я теперь хочу наделить команду только для несколько пользователей, которые могут использовать данную команду.
Покажите на примере кода:
@bot.command()
async def command(ctx):
    async with ctx.typing():
        await sleep(2)
        await ctx.send("Сообщение")
  • Вопрос задан
  • 2227 просмотров
Решения вопроса 2
MinTnt
@MinTnt
Хз возможно ли к дискорд боте такое, но что-то по типу такого предложу:
1) Создать список тех, кому доступна эта кмд, указав их ID, к примеру
Admincmdaccess=['27485949', '....]
2) В коде потом, при вводе определённой кмд, добавить строку для проверки, есть ли данный пользователь в списке, чтоб продолжить:
if bot.user.id in Admincmdaccess:


Если такое там можно реализовать, то сделать что-то похожее. Изменив какие-то данные
Ответ написан
arslee07
@arslee07
Для начала тебе нужно в портале Discord Developers во вкладке Teams создать команду и приглашасить туда совладельцев твоего бота, а самого бота мигрировать в эту команду. Я думаю, ты легко сможешь сделать это.

Затем тебе нужно перед необходимой функцией добавить декоратор @bot.is_owner()

Должно получиться что-то вроде этого:
@bot.command()
@bot.is_owner()
async def command(ctx):
    async with ctx.typing():
        await sleep(2)
        await ctx.send("Сообщение")


А вообще, советую тебе заглядывать в документацию библиотеки, в 99% случаях там есть ответы на подобные вопросы, тем более ребята обновили дизайн сайта, а поэтому ориентироваться по нему стало ещё проще.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Изи)
@bot.command()
async def command(ctx):
bot_access_ids = ['123124124124','123124124124']
if ctx.message.author.id in bot_access_ids:
async with ctx.typing():
await sleep(2)
await ctx.send("Сообщение")
else:
await ctx.send("Не имеете право")

Синтаксис поправишь,ибо писал прямо на сайте ;D
Ответ написан
Ваш ответ на вопрос

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

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