【问题标题】:How to check if my discord bot already dmed a person and it wont dm the person again (discord.py)如何检查我的不和谐机器人是否已经对一个人进行了 dm 并且它不会再次对该人进行 dm (discord.py)
【发布时间】:2020-10-08 22:18:21
【问题描述】:

我有一个处理 alt 的不和谐机器人,我正在寻找一种方法,让我的机器人知道他之前是否已经对这个人进行了 dm(解释他被踢的原因)并且它不会再次对他们进行 dm。我的功能是这样的:


@client.event
async def on_member_join(member):
    channel = member.guild.text_channels[0]
    if something
        await channel.send(f"**{member.display_name}** was kicked")
        await member.send("**Hi, your account was kicked due to reason** \n"
            "**please try again later!**\n"
         f"**{member.guild.name}.**")

        await member.kick(reason=None)

    else:
        pass

我的问题是,每次有人被踢时,我的机器人都会对他们进行 dms,我希望它在用户一生中只踢一次(不保存之前被踢过的用户)。

希望得到帮助:)

【问题讨论】:

    标签: discord bots discord.py discord.py-rewrite


    【解决方案1】:

    您可以查看this,但您至少应该将他们的 ID 保存到文本文件中。

    【讨论】:

    • 这样,我得到 dm 频道并检查我的该频道的消息历史记录是否为 1?我认为保存用户的 id 是没用的,最好让我的机器人检查他是否已经以某种方式删除了人
    • @OBZ 不,如果您将其保存到文本文件或 json 中,至少您不需要通过 dm 频道阅读。但是是的
    • 如何获得会员的 bot dm 频道?
    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2019-03-09
    • 2021-11-14
    • 2023-03-31
    • 2019-08-13
    相关资源
    最近更新 更多