@LxneSamurai

Как сделать проверку варнов на боте?

Работаю над дискорд ботом, а именно над системой варнов(предупреждений).
Мне осталось лишь команда по проверке варнов.

Если у юзера не имеется один из варнов, то выдаёт эмбед и указывает его точное предупреждение (одно из трёх возможных), но вместе с этим ниже появляется эмбед о том, что варнов нет.

Если в ролях юзера (делаю всё именно через роли) нет варнов, то эмбед лишь один - отсутствие варнов.

Понимаю, что проблема именно с функцией об отсутствии варна, но как правильно написать уже ума не приложу.

@bot.command(aliases=['warns', 'wc'])
    async def warncheck(ctx, member: discord.Member):
        await ctx.message.delete()
     
        #Embeds
        nwemb=discord.Embed(timestamp=ctx.message.created_at, colour=discord.Color.from_rgb(47, 49, 54))
        nwemb.set_author(name=member.name, icon_url=member.avatar_url )
        nwemb.set_footer(text="{}".format(ctx.author.name), icon_url=ctx.author.avatar_url, )
        nwemb.add_field(name='♢ Пользователь не имеет предупреждений.', value="Надеемся, что так будет и дальше")
        
        emb=discord.Embed(timestamp=ctx.message.created_at, colour=discord.Color.from_rgb(47, 49, 54))
        emb.set_author(name=member.name, icon_url=member.avatar_url )
        emb.set_footer(text="{}".format(ctx.author.name), icon_url=ctx.author.avatar_url, )
        emb.add_field(name='♢ Пользователь имеет предупреждение #1.', value="Прочтите <#айди канала>, чтобы не получить их ещё.")

        emb2=discord.Embed(timestamp=ctx.message.created_at, colour=discord.Color.from_rgb(47, 49, 54))
        emb2.set_author(name=member.name, icon_url=member.avatar_url )
        emb2.set_footer(text="{}".format(ctx.author.name), icon_url=ctx.author.avatar_url, )
        emb2.add_field(name='♢ Пользователь имеет предупреждение #2.', value="Прочтите <#айди канала>, чтобы не получить их ещё.")

        emb3=discord.Embed(timestamp=ctx.message.created_at, colour=discord.Color.from_rgb(47, 49, 54))
        emb3.set_author(name=member.name, icon_url=member.avatar_url )
        emb3.set_footer(text="{}".format(ctx.author.name), icon_url=ctx.author.avatar_url, )
        emb3.add_field(name='♢ Пользователь имеет предупреждение #3.', value="Вы максимально приблизились к наказанию!")

        #Roles
        WarnR=["Warning I", "Warning II", "Warning III"]
        warn1r=ctx.guild.get_role(955753706673045524)
        warn2r=ctx.guild.get_role(955753778630524948)
        warn3r=ctx.guild.get_role(955753843910672404)
        
         
        #Action  
        if warn1r in member.roles:
              await ctx.send(embed=emb)
            
        if warn2r in member.roles:
              await ctx.send(embed=emb2)
        
        if warn3r in member.roles:
              await ctx.send(embed=emb3)
            
        if WarnR not in member.roles:
              await ctx.send(embed=nwemb)
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
SoreMix
@SoreMix
yellow
Объедините все if в один блок условий, с использованием elif и else

https://pythonworld.ru/osnovy/instrukciya-if-elif-...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы