【问题标题】:Discord.py warningDiscord.py 警告
【发布时间】:2021-07-25 04:40:30
【问题描述】:

我一直在开发一个主持人不和谐机器人。做了除警告命令之外的所有命令。谁能帮我发出警告命令。

如果成员(具有管理成员权限)键入 ?warn @user 原因,机器人会将警告保存在文件中

如果用户说?warnings @user,机器人将显示用户的警告,也会显示一个未警告的命令,例如当用户说?unwarn @user 机器人应该能够取消警告指定的用户。

【问题讨论】:

  • 欢迎来到 StackOverflow。请包括您的代码、方法和您面临的错误。您也可以查看how to ask a good question,因为没有人会为您编写所有这些代码。 StackOverflow 不是“为我编写代码”的平台。

标签: discord discord.py warnings


【解决方案1】:

你是这个意思吗?

def save_warn(ctx, member: discord.Member):
    with open('warns.json', 'r') as f:
         warns = json.load(f)

         warns[str(member.id)] += 1

    with open('warns.json', 'w') as f:
         json.dump(warns, f)

def remove_warn(ctx, member: discord.Member, amount: int):
    with open('warns.json', 'r') as f:
         warns = json.load(f)

         warns[str(member.id)] -= amount

    with open('warns.json', 'w') as f:
         json.dump(warns, f)
    
def warns_check(member: discord.Member)
    with open('warns.json', 'r') as f:
         warns = json.load(f)

         warns[str(member.id)]
    return warns

@bot.command()
@commands.has_permissions(kick_members=True)
async def warn(ctx, member: discord.Member, *, reason):
      save_warn(ctx, member)
      dm = await bot.fetch_user(member.id)
      em=discord.Embed(title="Warning", description=f"Server: {ctx.guild.id}\nReason: {reason}"
      await dm.send(embed=em)

@bot.command()
@commands.has_permissions(kick_members=True)
async def warnings(ctx, member: discord.Member):
      warns = warns_check(member)
      await ctx.send(f"{member.name} has {warns} warnings.")

@bot.command()
@commands.has_permissions(kick_members=True)
async def rmwarn(ctx, member: discord.Member, amount: int):
      remove_warn(ctx, member, amount)
      await ctx.send(f"Removed {amount} warnings from {member.name}!")

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2020-03-31
    • 2021-10-20
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多