Я создал команду warn, но я хочу создать команду, где игрок может проверить свои или чужие предупреждения, я не против того, что я должен использовать (json, logging ect)
Команда warn довольно длинная, поэтому я только показал импорт и саму команду:
import discord
from discord.ext import commands
from discord.ext.commands import has_permissions, MissingPermissions
from discord.utils import get
@client.command()
@has_permissions(kick_members=True)
async def warn(ctx, member:discord.Member, *, reason=None):
arg=reason
author=ctx.author
guild=ctx.message.guild
overwritee = discord.PermissionOverwrite()
overwrite = discord.PermissionOverwrite()
channel = get(guild.text_channels, name='warn-logs')
mrole = get(ctx.guild.roles, name="Multi-Galaxy")
if channel is None:
channel = await guild.create_text_channel('warn-logs', category=category)
overwritee.read_messages = False
overwritee.read_message_history = False
overwritee.send_messages = False
overwrite.read_messages = True
overwrite.read_message_history = True
overwrite.send_messages = True
await channel.set_permissions(guild.default_role, overwrite=overwritee)
await channel.set_permissions(mrole, overwrite=overwrite)
if member is None:
await ctx.send("Please specify a user and/or reason!")
await channel.send(f'{member.mention} got warned for: ```\n{arg}\n``` Warned by: {author.mention}')
await member.send(f'You got warned for: ```\n{arg}\n``` Warned by: {author} Warned on: **{guild.name}**')
await ctx.send(f'{member.mention} got warned for: ```\n{arg}\n``` Warned by: {author.mention}')
await ctx.message.delete()