python - 使用 discord.py 检测和踢 alt
问题描述
我想制作一个审核机器人来踢 alt 帐户(小于 10 天的帐户)我有whois
命令,但它只显示帐户创建时间:
@client.command(name="whois", aliases=["memberinfo"])
async def whois(ctx, member:discord.Member = None):
if member is None:
member = ctx.author
roles = [role for role in ctx.author.roles]
else:
roles = [role for role in member.roles]
embed = discord.Embed(title=f"{member}", colour=member.colour, timestamp=ctx.message.created_at)
embed.set_footer(text=f"Requested by: {ctx.author}", icon_url=ctx.author.avatar_url)
embed.set_author(name="User Info: ")
embed.add_field(name="ID:", value=member.id, inline=False)
embed.add_field(name="User Name:",value=member.display_name, inline=False)
embed.add_field(name="Discriminator:",value=member.discriminator, inline=False)
embed.add_field(name="Current Status:", value=str(member.status).title(), inline=False)
embed.add_field(name="Current Activity:", value=f"{str(member.activity.type).title().split('.')[1]} {member.activity.name}" if member.activity is not None else "None", inline=False)
embed.add_field(name="Created At:", value=member.created_at.strftime("%a, %d, %B, %Y, %I, %M, %p UTC"), inline=False)
embed.add_field(name="Joined At:", value=member.joined_at.strftime("%a, %d, %B, %Y, %I, %M, %p UTC"), inline=False)
embed.add_field(name=f"Roles [{len(roles)}]", value=" **|** ".join([role.mention for role in roles]), inline=False)
embed.add_field(name="Top Role:", value=member.top_role, inline=False)
embed.add_field(name="Bot?:", value=member.bot, inline=False)
await ctx.send(embed=embed)
return
我怎样才能做出类似的东西:
if member < 10 days:
await member.kick
await channel.send('Detected alt account and kicked it')
我也不想要完整的代码。我只需要解释如何做到这一点。谢谢
解决方案
discord.Member
created_at
具有返回实例的属性datetime.datetime
,您可以通过减去今天的日期并使用days
属性来获得增量天数
created = member.created_at
now = datetime.now() # remember to `from datetime import datetime`
delta = (now - created).days
if delta < 10:
await member.kick()
await channel.send('Detected alt account and kicked it')
参考:
推荐阅读
- android - 谷歌放置自动完成不提供一些有效字符串的建议
- wpf - 动画用户控件
- javascript - React 中的 Konva 无限网格
- ruby-on-rails - 更新 Amazon RDS SSL/TLS 证书 - Elastic Beanstalk
- kubernetes - 在 Kubernetes 中命名服务会阻止它启动
- c# - 在 Net Core 3.0 中同时使用 GRPC 通道
- javascript - 如何验证/阻止缩短字符串中的 URL
- python - Travis 收集...命令“pytest”以 1 退出
- excel - 范围内的 PowerQuery 范围
- linux - Linux 中给定命令的 CPU 利用率