@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'))
img.save('C:/..../card.png')
#ваш код
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)
@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) #упомянаем роль
@bot.event
async def on_ready():
await bot.change_presence(activity=discord.Game(name="Игра"))
@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)
@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!") # << выводим пользователю ответ после нажатия кнопки