Команда Discord.py ban - PullRequest
       4

Команда Discord.py ban

0 голосов
/ 28 мая 2018
    if message.content.upper().startswith('!BAN'):
        if "449706643710541824" in [role.id for role in message.author.roles]:
            await

У меня есть базовая настройка, поэтому только администраторы могут забанить.Я хочу сделать команду запрета, но я не уверен, как это сделать.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2019

Моя команда бана, которую я получил для своего бота, очевидно, не оставляет комментарий для части бана, я просто добавил ее туда, когда не знал, как заблокировать ее для ролей

#bans a user with a reason
@client.command()
@commands.has_any_role("Keyblade Master","Foretellers")
async def ban (ctx, member:discord.User=None, reason =None):
    if member == None or member == ctx.message.author:
        await ctx.channel.send("You cannot ban yourself")
        return
    if reason == None:
        reason = "For being a jerk!"
    message = f"You have been banned from {ctx.guild.name} for {reason}"
    await member.send(message)
    # await ctx.guild.ban(member)
    await ctx.channel.send(f"{member} is banned!")
0 голосов
/ 28 мая 2018

Я бы рекомендовал использовать discord.ext.commands для создания команд, это проще в использовании.Функция запрета: discord.Client.ban(member, delete_message_days = 1).Это пример использования discord.ext.commands:

bot = commands.Bot(command_prefix = "!")

@bot.command(pass_context = True)
async def ban(member: discord.Member, days: int = 1):
    if "449706643710541824" in [role.id for role in message.author.roles]:
        await bot.ban(member, days)
    else:
        await bot.say("You don't have permission to use this command.")

bot.run("<TOKEN>")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...