Discord.py 异步问题 - 欢迎留言
Issues with Discord.py Async - Welcome Leave Messages
所以我目前有自己的音乐机器人,我使用 Discord.py 编写了代码。但是,我正在尝试添加 on_member_join() 和 on_member_remove() 方法,以便在有人离开和加入时可以使用我自己的自定义消息通知我(Discord 的内置功能很好,但是当有人离开时它不起作用,因此我这样做的原因)
所以我的服务器上有一个名为 welcome-leave 的频道,我希望机器人在此处打印那些 welcome/leave 消息。但是,我不确定该怎么做。
@bot.event
async def on_member_join(member):
server = member.server.default_channel
fmt = 'Welcome to the {1.name} Discord server, {0.mention}, please read the
rules and enjoy your stay.'
await bot.send_message(server, fmt.format(member, member.server))
@bot.event
async def on_member_remove(member):
server = member.server.default_channel
fmt = '{0.mention} has left/been kicked from the server.'
await bot.send_message(server, fmt.format(member, member.server))
这是我目前的设置,但显然它不起作用。我得到的错误是 Destination 必须是 Channel、PrivateChannel、User 或 Object。
我真的不知道如何让我的机器人将这些消息打印到我服务器上的特定频道。非常感谢任何帮助。
您无法再向服务器发送消息,这只是因为默认频道与服务器共享相同的 ID。
现在您需要找到一个渠道来发送消息,而不仅仅是使用服务器
channel = member.server.get_channel("CHANNEL_ID")
await bot.send_message(channel, ...)
所以我目前有自己的音乐机器人,我使用 Discord.py 编写了代码。但是,我正在尝试添加 on_member_join() 和 on_member_remove() 方法,以便在有人离开和加入时可以使用我自己的自定义消息通知我(Discord 的内置功能很好,但是当有人离开时它不起作用,因此我这样做的原因)
所以我的服务器上有一个名为 welcome-leave 的频道,我希望机器人在此处打印那些 welcome/leave 消息。但是,我不确定该怎么做。
@bot.event
async def on_member_join(member):
server = member.server.default_channel
fmt = 'Welcome to the {1.name} Discord server, {0.mention}, please read the
rules and enjoy your stay.'
await bot.send_message(server, fmt.format(member, member.server))
@bot.event
async def on_member_remove(member):
server = member.server.default_channel
fmt = '{0.mention} has left/been kicked from the server.'
await bot.send_message(server, fmt.format(member, member.server))
这是我目前的设置,但显然它不起作用。我得到的错误是 Destination 必须是 Channel、PrivateChannel、User 或 Object。
我真的不知道如何让我的机器人将这些消息打印到我服务器上的特定频道。非常感谢任何帮助。
您无法再向服务器发送消息,这只是因为默认频道与服务器共享相同的 ID。
现在您需要找到一个渠道来发送消息,而不仅仅是使用服务器
channel = member.server.get_channel("CHANNEL_ID")
await bot.send_message(channel, ...)