• В чём проблема запуска команды бота с фото-карточкой pil?

    RealSosiso4ka
    @RealSosiso4ka
    NeW_CodeR, я уже предоставил вам рабочий вариант кода комментарием выше, с ним вам даже не нужно сохранять файл локально. Если и он не работает, можете попробовать переустановить библиотеку PIL и disocrd.py, проверить работу кода на другом устройстве.
  • В чём проблема запуска команды бота с фото-карточкой pil?

    RealSosiso4ka
    @RealSosiso4ka
    NeW_CodeR, а ещё, вам не обязательно сохранять изображение на ваше устройство. Вы можете использовать модуль io для преобразования изображения в байты следующим образом:

    @client.command(
        aliases=['карточка', 'карта', 'фото']
        )
    async def __card(ctx: commands.Context):
        img = Image.new('RGBA', (400, 200), '#9ad4f5')
        response = requests.get(ctx.author.avatar_url, stream = True)
        response = Image.open(io.BytesIO(response.content)).convert('RGBA')
        response = response.resize((100, 100), Image.ANTIALIAS)
        img.paste(response, (15, 15, 115, 115))
        idraw = ImageDraw.Draw(img)
        headline = ImageFont.truetype('arial.ttf', size = 20)
        undertext = ImageFont.truetype('arial.ttf', size = 12)
        idraw.text((145, 15), f'{ctx.author.name}#{ctx.author.discriminator}', font=headline)
        idraw.text((145, 50), f'{ctx.author.id}', font=undertext)
        with io.BytesIO() as output:
            img.save(output, format="PNG")
            output.seek(0)
            await ctx.send(file=discord.File(fp=output, filename='card.png'))
  • В чём проблема запуска команды бота с фото-карточкой pil?

    RealSosiso4ka
    @RealSosiso4ka
    NeW_CodeR, в ваш ПК я не залезу, это уже вам лучше знать. Если это бот, то в ту же папку, где находится файл запуска, я полагаю.

    Вы можете самостоятельно задать полный путь сохранения изображения:
    img.save('C:/..../card.png')
  • В чём проблема запуска команды бота с фото-карточкой pil?

    RealSosiso4ka
    @RealSosiso4ka
    NeW_CodeR, предоставленный вами код полностью рабочий, не считая ошибки в названиях файлов. Я проверял у себя перед тем, как писать ответ на вопрос работоспособность команды, бот отправил карточку, как и положено.

    Скриншот результата
    62f126ea54155835248827.png
  • Как упомянуть роль по названию?

    RealSosiso4ka
    @RealSosiso4ka
    tatsuki1, где вы, собственно, хотите тут создать роль и упомянуть её? Если вы хотите, чтобы при создании тикета создавалась роль «@Support Team», если её нету, то просто сделайте так:

    #ваш код
        else:
            await channel1.send(f'{user} ваш тикет был создан.', delete_after=30)
            ticket = await category1.create_text_channel(f"{user}", overwrites=None, reason=None)
            role_name = "Support Team"
            global role
            if get(ctx.guild.roles, name=role_name):  
                role = discord.utils.get(guild.roles, name=role_name)  
            else:
                await guild.create_role(name=role_name, colour=discord.Colour(0x0062ff))  
                role = discord.utils.get(guild.roles, name=role_name)  
            mention_message = role.mention
            other_part_of_message = " новый тикет"
            await ticket.send(content=mention_message+other_part_of_message)
            ticket1 = discord.Embed(color=discord.Color.random(), description=
            f'Tag: {user}\n'
            f'ID: {user.id}\n'
            f'Вас внимательно слушаем.'
                                    )
            ticket1.set_footer(text='Tickets System')
            await ticket.send(embed=ticket1)
  • Как упомянуть роль по названию?

    RealSosiso4ka
    @RealSosiso4ka
    tatsuki1,

    @bot.command()
    async def role(ctx, role_name):  #Пользователь вводит команду, в которой указывает название роли
        guild = ctx.guild
        if get(ctx.guild.roles, name=role_name): #если роль есть:
            role = discord.utils.get(guild.roles, name=role_name) #получаем роль
            await ctx.send(role.mention) #выводим в чат упомянание роли 
        else: #в другом случае (если такой роли нету)
            await guild.create_role(name=role_name, colour=discord.Colour(0x0062ff)) #создаём роль
            role = discord.utils.get(guild.roles, name=role_name) #получаем роль
            await ctx.send(role.mention) #упомянаем роль
  • Как поменять Играет в на Смотрит на и т.д(RPC Discord, Pypresence)?

    RealSosiso4ka
    @RealSosiso4ka
    RieldaBot, вставляете в свой код это:

    @bot.event
    async def on_ready():
        await bot.change_presence(activity=discord.Game(name="Игра"))

    Можете ставить абсолютно любой статус, вот все статусы:

    Статус "Играет в"
    await bot.change_presence(activity=discord.Game(name="игра"))

    Статус "стримит"
    await bot.change_presence(activity=discord.Streaming(name="Название стрима", url=ссылка))

    Статус "слушает"
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name="песня"))

    Статус "смотрит"
    await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="название"))
  • Как сделать бота чтобы выдавал личные роли?

    RealSosiso4ka
    @RealSosiso4ka
    Den_Rou_OFFICIAL, прошу простить, не учёл. Вот, немного изменил код, должно работать:

    @client.command()
    async def lr(ctx, nam, col):
        col = int(hex(int(col.replace("#", ""), 16)), 0) 
    #для ввода цветных кодов с буквами необходимо немного пошаманить с форматами
        await ctx.guild.create_role(name=nam, color=discord.Colour(col),  
                                     permissions=discord.Permissions(permissions=2251673089))
        role = discord.utils.get(ctx.guild.roles, name=nam)
        await ctx.message.author.add_roles(role)
  • Как следить за нажатием кнопки в discord.py?

    RealSosiso4ka
    @RealSosiso4ka
    Я не знаю, что у вас в коде, может быть, вы не задали cusom id, но рекомендую использовать переменную, а не @bot.event.

    Вот пример кода с использованием переменной interaction:

    @bot.command()
    async def button(ctx):
        await ctx.send(
            "Hello, World!",
            components=[
                Button(style=ButtonStyle.gray,  label = "WOW button!", custom_id = "button1") 
                #style - стиль кнопки, label - текст,  custom_id - айди кнопки  
              ])
        interaction = await bot.wait_for("button_click", check = lambda i: i.custom_id == "button1")
        #/\ задаём переменную interaction и заставляем бота ждать, пока пользователь не нажмёт кнопку
        await interaction.send(content = "Button clicked!") # << выводим пользователю ответ после нажатия кнопки