python - Discord.py 重写 on_member_join 自动分配角色
问题描述
我对这个我昨天工作的自动角色分配感到困惑,因为......
@client.event
async def on_member_join(ctx, member):
if member.guild.name == "lusk_245789": # Server Name
role = discord.utils.get(member.guild.roles, name="Member")
await member.add_roles(role)
embed = discord.Embed(title=f"Member Joined", description=f"{member.mention}, Welcome to {member.guild.name}. We hope that your time with us is a happy one!", color=0x9b26b9, font_size=200, timestamp=ctx.message.created_at)
embed.add_field(name="Please check out the Rules Channel!", value="<#822090510495514644>", inline=False)
embed.add_field(name="Latest announcements are made here!", value="<#781017647922937856>", inline=False)
embed.set_footer(text="Task Completed!")
# Send the embed message and fields
await client.get_channel(873238209897844799).send(embed=embed)
# Get role and assign to new member
#elif member.guild.name == "Server Name":
#embed = discord.Embed(title=f'Welcome {member.name} !\nwelcome to #{member.guild.name}', #color=0x9b26b9) #you can add more if you want
#await client.get_channel(CHANNEL_ID).send(embed=embed)
else:
return
错误:
Ignoring exception in on_member_join
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 343, in _run_event
await coro(*args, **kwargs)
TypeError: on_member_join() missing 1 required positional argument: 'member'
解决方案
那是因为on_member_join
event 只接受一个参数member
not ctx
and member
。只需替换这个:
async def on_member_join(ctx, member):
有了这个:
async def on_member_join(member):
它应该可以工作。
推荐阅读
- react-native - undefined 不是对象(评估 'RNSound.IsAndroid')
- python - 如何在“numpy.linalg.eig”中返回非标准化特征向量?
- javascript - JS:删除星号之间的前导和尾随空格(有效降价)
- group-by - clickhouse 下采样到 OHLC 时间条间隔
- python - 代码未在输出 excel 文件中创建新的 excel 表
- python - python文件带参数时如何使用cProfile mod?
- sql - How do I display records in the same row although I am using group by on 2 columns that appear in different rows right now?
- aws-lambda - serverless: When 302 redirect the custom header or set-cookie header not getting passed
- servicestack - ServiceStack:当在服务之外抛出异常时,AppHost.OnRequestEndCallbacks 处理程序被调用两次
- swift - 视口?还是相机?视野?旋转 iOS 设备上的变化