我一直在编程一个机器人,当用户加入时该机器人会欢迎用户,但它似乎无法正常工作。
async def on_member_join(member):
channel = member.channel
await channel.send(f'{member} has arrived')
答案 0 :(得分:0)
您尚未指定要向其发送消息的频道其中,并且discord.Member
没有名为channel
的属性。
您必须通过其ID获取频道,就像这样:
async def on_member_join(member):
channel = bot.get_channel(112233445566778899) # replace id with the welcome channel's id
await channel.send(f"{member} has arrived!")
如果您愿意,也可以通过其名称获取它:
async def on_member_join(member):
channel = discord.utils.get(member.guild.text_channels, name="welcome")
await channel.send(f"{member} has arrived!")
参考:
答案 1 :(得分:0)
@client.event
async def on_member_join(member):
for channel in member.guild.channels:
if str(channel) == "member-log":
await channel.send(f"""Welcome {member.mention}!""")
这可能也有帮助。在这里,我们正在检查频道名称是否为member-log
,然后向该频道发送欢迎消息。