Разногласия бота с python

#python-3.x #discord.py

#python-3.x #discord.py

Вопрос:

Как я могу сделать так, чтобы, когда кто-то, кто не является администратором и запускает команду cls, выдавал ему сообщение, например, вы не администратор, извините

Код на Python

 @bot.command()
@commands.has_permissions(manage_messages=True)
async def cls(ctx, Quantity= 10000):
    if manage_messages == False:
        await ctx.send('You are not an administrator, you cannot run this command.')
    await ctx.channel.purge(limit = Quantity)
 

Помогите, я не знаю, как это сделать.

Ответ №1:

 import discord
import asyncio
from discord.ext.commands import Bot

client = Bot(description="My Cool Bot", command_prefix="!", pm_help = False, )
@client.event
async def on_ready():
  print("Bot is ready!")
  return await client.change_presence(game=discord.Game(name='My bot'))

@client.command(pass_context = True)
async def whoami(ctx):
    if ctx.message.author.server_permissions.administrator:
        msg = "You're an admin {0.author.mention}".format(ctx.message)  
        await client.send_message(ctx.message.channel, msg)
    else:
        msg = "You're an average joe {0.author.mention}".format(ctx.message)  
        await client.send_message(ctx.message.channel, msg)
client.run('Your_Bot_Token')
 

Комментарии:

1. Спасибо, ваш ответ мне очень помог, спасибо за время, которое вы потратили, чтобы ответить на этот вопрос.

Ответ №2:

Вот как я бы это сделал, чтобы проверить, есть ли у автора сообщения права администратора в вашем случае.

 if ctx.message.author.guild_permissions.administrator:
    await ctx.channel.purge(limit=Quantity)
    await ctx.send('Deletion success! Deleted '   Quantity   ' messages.')
else:
    await ctx.send('You are not an administrator, you cannot run this command.')
 

Комментарии:

1. Спасибо, ваш ответ мне очень помог, спасибо за время, которое вы потратили, чтобы ответить на этот вопрос.

2. Нет проблем! Я только начал изучать Discord.py а что может быть лучше для обучения, чем учиться вместе с другими!