Discord.py还不支持Bot集成。请检查此拉取请求。一旦它被合并,你就可以执行
我想向用户发送一个DM,该用户邀请/添加了机器人到他的服务器
我注意到它显示在审核日志中。我可以获取并获得用户吗?或者有更简单的方法可以实现吗?
示例:
bot = commands.Bot()
@bot.event
async def on_guild(guild, inviter):
await inviter.send("Thanks for adding the bot to your server!")
使用discord.py 2.0,您可以获得服务器的BotIntegration
以及邀请机器人的用户。
示例
from discord.ext import commands
bot = commands.Bot()
@bot.event
async def on_guild_join(guild):
# get all server integrations
integrations = await guild.integrations()
for integration in integrations:
if isinstance(integration, discord.BotIntegration):
if integration.application.user.name == bot.user.name:
bot_inviter = integration.user # returns a discord.User object
# send message to the inviter to say thank you
await bot_inviter.send("Thank you for inviting my bot!!")
break
注意:guild.integrations()
需要Manage Server
(manage_guild
(权限。
参考文献:
Guild.integrations
discord.BotIntegration
integration.user
来获得邀请机器人的用户
在不一致.py 1.7.3及更低版本中没有任何实际方法。但是,您可以获取审核日志条目(文档(,并从中找出谁邀请了Bot。