在用户加入事件上发送消息-discord.py

时间:2020-05-28 22:50:46

标签: python discord discord.py

我一直在编程一个机器人,当用户加入时该机器人会欢迎用户,但它似乎无法正常工作。

async def on_member_join(member):
    channel = member.channel
    await channel.send(f'{member} has arrived')

2 个答案:

答案 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,然后向该频道发送欢迎消息。