【问题标题】:How to send message to the person who added the bot如何向添加机器人的人发送消息
【发布时间】:2021-01-07 12:30:36
【问题描述】:

我有一个活动,当有人邀请机器人时,它会向服务器所有者发送一封感谢信。如何让它发送给添加机器人的人,而不是服务器所有者?

@bot.event
async def on_guild_join(guild):
    embed = discord.Embed(description=f"Здрастии! Аз съм <@789920350796251198> и много ти благодаря, че ме покани в **{guild.name}**! Използвай .help, за да видиш списък с командите ми! Целта ми е да мога да се използвам във всеки български сървър. През времето ще се усъвършенствам и ще имам модули за музика, билети, логове и много други <:bcbwelcome:789925513748676638>",color=0x33AB8B,)
    embed.set_footer(text=f"За въпроси - .support | Версия - 0.1")
    await guild.owner.send(embed=embed)

【问题讨论】:

  • 这是不可能的
  • 我认为这是可能的,因为有很多机器人向我发送了诸如“嘿,谢谢你邀请我加入你的服务器”之类的消息
  • 可能是因为你是服务器的所有者,discord.py 不可能
  • 好的,非常感谢

标签: python python-3.x discord.py


【解决方案1】:

您必须使用审核日志来执行此操作,因为添加了新的bot_add

@bot.event
async def on_guild_join(guild):
    entry = await guild.audit_logs(limit=1, action=discord.AuditLogAction.bot_add).flatten()
    entry = entry[0]
    embed = discord.Embed(description=f"Здрастии! Аз съм <@789920350796251198> и много ти благодаря, че ме покани в **{guild.name}**! Използвай .help, за да видиш списък с командите ми! Целта ми е да мога да се използвам във всеки български сървър. През времето ще се усъвършенствам и ще имам модули за музика, билети, логове и много други <:bcbwelcome:789925513748676638>",color=0x33AB8B,)
    embed.set_footer(text=f"За въпроси - .support | Версия - 0.1")
    await entry.user.send(embed=embed)

【讨论】:

  • 非常感谢你,伙计! :) 祝你好运,保持安全! :)
猜你喜欢
  • 2012-09-21
  • 2018-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2021-08-03
  • 2019-09-19
  • 2019-07-26
  • 2018-10-07
相关资源
最近更新 更多