Discord.py 警告命令

时间:2021-05-09 10:30:39

标签: discord.py

我正在尝试处理警告命令,我想知道您是否可以帮助我,我正在尝试这样做,以便一旦我警告某人,它就会将其处理为 .json 文件,我的代码是如下:

@bot.command()
@commands.has_permissions(kick_members=True)
async def warn(ctx, member: discord.Member, *, arg):
    logsChannel = bot.get_channel(839235810200780800)
    user = member.mention
    embed = discord.Embed(title="Warning issued: ", color=0xf40000)
    embed.add_field(name="Warning: ", value=f'Reason: {arg}', inline=False)
    embed.add_field(name="User warned: ", value=f'{member.mention}', inline=False)
    embed.add_field(name="Warned by: ", value=f'{ctx.author}', inline=False)

    embed2 = discord.Embed(title="Warning issued: ", color=0xf40000)
    embed2.add_field(name="Warning: ", value=f'Reason: {arg}', inline=False)
    embed2.add_field(name="User warned: ", value=f'{member.mention}', inline=False)
    embed2.add_field(name="Warned by: ", value=f'{ctx.author}', inline=False)

    await logsChannel.send(embed=embed2)
    await member.send(f'You have been warned in Jackkkks Society for **{arg}**!')
    message = await ctx.send(embed=embed)

1 个答案:

答案 0 :(得分:0)

首先你必须导入json模块

import json

然后在您的嵌入或任何在该命令缩进中的任何地方,执行以下操作:

with open("warns.json", "r") as f: # Set the warns.json to the name of the file
        warns_list = json.load(f)
warns_list[str(member.id)] = arg
with open("warns.json", "w") as f:
        json.dump(warns_list, f, indent=4)

我觉得这个应该可行,我不想用勺子喂你,所以找个办法打开json文件接收数据