Бот discord не банит участника, и выдает ошибку (discord.py)
Бот discord должен банить участника если тот напишет запрещенное слово но вместо этого он просто выдает ошибку
Ignoring exception in command TEST:
Traceback (most recent call last):
File "C:\Users\epicb\AppData\Local\Programs\Python\Python38\lib\site-
packages\discord\ext\commands\core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "C:\Users\epicb\Desktop\папки\плюшки\мой ботяра\2 — копия.py", line 22, in TEST
await bot.ban(author.mention)
AttributeError: 'Bot' object has no attribute 'ban'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\epicb\AppData\Local\Programs\Python\Python38\lib\site-
packages\discord\ext\commands\bot.py", line 903, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\epicb\AppData\Local\Programs\Python\Python38\lib\site-
packages\discord\ext\commands\core.py", line 859, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\epicb\AppData\Local\Programs\Python\Python38\lib\site-
packages\discord\ext\commands\core.py", line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError:
'Bot'
object
has no attribute 'ban'
код:
@bot.command()
async def TEST(ctx):
author = ctx.message.author
await bot.ban(author.mention)
Ответы (2 шт):
Автор решения: Victor VosMottor
→ Ссылка
Вот так можно:
@bot.command(pass_context=True)
@commands.has_role('Admin')
async def ban(ctx, user: discord.Member):
await ctx.send(f'The banhammer has awoken! {user.name} has been banished')
await ctx.guild.ban(user)
Автор решения: k4zzak
→ Ссылка
что же ты бота банишь?
@bot.command()
@commands.has_permissions(ban_members = True)
async def ban(ctx, member: discord.Member, *, reason = None):
await member.ban(reason = reason)
await ctx.send(f"**{member}** был забанен по причине `{reason}`!")