• Как исправить ошибку AttributeError: 'Client' object has no attribute 'command'?

    @AlmazZzik
    Приветствую!
    Исправил ваш код(ниже будет)

    Вместо client.command - bot.command

    Также посоветую убрать:
    await ctx.channel.purge()

    Опасная штука : )

    import discord
    
    from discord.ext import commands
    from discord.utils import get
    from discord.ext.commands import Bot
    
    config = {
    
    'token': 'Токен',
    'prefix': '>',
    
    
    }
    
    intents = discord.Intents.all()
    client = discord.Client(intents=discord.Intents.default())
    bot = commands.Bot(command_prefix= ">", intents=intents)
    
    @bot.command()
    async def Проверка(ctx):
        await ctx.send("Бот работает" )
    
    @bot.command(pass_context = True)
    async def kick(ctx, member: discord.Member, *, reason = None):
        await ctx.channel.purge()
        await member.kick(reason = reason)
    
    bot.run(config['token'])
    Ответ написан
    2 комментария
  • Почему мой дискорд бот не отвечает на команды?

    @AlmazZzik
    Приветствую!
    Перво-наперво, если вы делаете команды, всегда нужен intent под название message_content, если вы используете discord.py версии 2.0 и выше.

    Вот ваш исправленный код:
    import discord
    from discord.ext import commands
    
    intents = discord.Intents.default()
    intents.members = True
    intents.message_content = True
    
    bot = commands.Bot(command_prefix='!', intents=intents)
    
    @bot.event
    async def on_ready():
        print('Бот готов')
    
    @bot.command()
    @commands.has_permissions(ban_members=True)
    async def ban(ctx, member: discord.Member, time: int, *, reason=None):
        guild = ctx.guild
    
        if not guild.me.guild_permissions.ban_members:
            return await ctx.send('У меня нет прав на бан пользователей!')
    
        await member.ban(reason=reason)
    
        await ctx.send(f'Пользователь {member.mention} успешно забанен на {time} час(ов) по причине: {reason or "Не указана"}')
    
        await discord.utils.sleep_until(ctx.message.created_at + discord.timedelta(hours=time))
        await member.unban(reason='Истекло время бана')
    
    bot.run('ВАШ_ТОКЕН')
    Ответ написан
    Комментировать