#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 а что может быть лучше для обучения, чем учиться вместе с другими!