Python 如何使用同一个装饰器制作2个on_成员工作事件? @client.event 成员加入时的异步定义(成员): 全球欢迎频道 全局自动调节器 channel\u id=welcome\u channel\u dict[str(member.guild.id)] 嵌入=discord.embed(color=discord.color.green()) embed=discord.embed(title=“Member Joined”,color=0x2EC71,description=f'{Member.notice}已加入**{Member.guild}**!祝您在这里过得愉快!:tada:') 嵌入.set_缩略图(url=member.avatar_url) 等待客户端。获取通道(通道id)。发送(嵌入=嵌入) role=discord.utils.get(member.guild.roles,id=autoroles[str(member.guild.id)]) 等待成员。添加_角色(角色)
我试图实现的目标:现在,只有当人们也启用了欢迎信息时,Python 如何使用同一个装饰器制作2个on_成员工作事件? @client.event 成员加入时的异步定义(成员): 全球欢迎频道 全局自动调节器 channel\u id=welcome\u channel\u dict[str(member.guild.id)] 嵌入=discord.embed(color=discord.color.green()) embed=discord.embed(title=“Member Joined”,color=0x2EC71,description=f'{Member.notice}已加入**{Member.guild}**!祝您在这里过得愉快!:tada:') 嵌入.set_缩略图(url=member.avatar_url) 等待客户端。获取通道(通道id)。发送(嵌入=嵌入) role=discord.utils.get(member.guild.roles,id=autoroles[str(member.guild.id)]) 等待成员。添加_角色(角色),python,discord.py,Python,Discord.py,我试图实现的目标:现在,只有当人们也启用了欢迎信息时,自动播放功能才起作用。我希望它能单独工作。您的客户应该是Bot类 从discord.ext.commands导入Bot client=Bot(命令前缀=“!”) 以后的代码 async def on_member_join(成员): #做点什么 client.add_侦听器(在成员加入时) 成员加入时的异步定义(成员): #多做点什么 client.add_侦听器(在成员加入时) 这样我就可以在上面的一个窗口中显示欢迎消息,在下面的一个窗口
自动播放功能才起作用。我希望它能单独工作。您的客户应该是Bot
类
从discord.ext.commands导入Bot
client=Bot(命令前缀=“!”)
以后的代码
async def on_member_join(成员):
#做点什么
client.add_侦听器(在成员加入时)
成员加入时的异步定义(成员):
#多做点什么
client.add_侦听器(在成员加入时)
这样我就可以在上面的一个窗口中显示欢迎消息,在下面的一个窗口中显示autorole了?@Rensjuh两个函数分别工作,所以当我这样做时,它会说函数已经定义了@client.event(),在on_member_join的上方。删除它
@client.event
async def on_member_join(member):
global welcome_channel_dict
global autoroles
channel_id = welcome_channel_dict[str(member.guild.id)]
embed=discord.Embed(colour=discord.Colour.green())
embed=discord.Embed(title="<:memberjoined:778987095837769759> Member Joined", color=0x2ECC71, description=f'{member.mention} joined **{member.guild}**! Enjoy your stay! :tada:')
embed.set_thumbnail(url=member.avatar_url)
await client.get_channel(channel_id).send(embed=embed)
role = discord.utils.get(member.guild.roles, id=autoroles[str(member.guild.id)])
await member.add_roles(role)