首页 > 解决方案 > 我的不和谐机器人不会发送欢迎消息,但正在阅读其他消息。我正在使用 discord.py

问题描述

我正在尝试创建一个基本的不和谐机器人,目前正在尝试实施欢迎信息。我没有收到错误消息,它什么也没做,如果我在成员加入时尝试向控制台打印一条消息,什么也不会发生。on_message 函数和 on_ready 一起工作得很好。

#bot

import discord
TOKEN = ('top secret token')

client = discord.Client()
intents = discord.Intents.default()
intents.members = True

@client.event
async def on_ready():
    print(f'{client.user} has connected to Discord!')

@client.event
async def on_message(message):
    if message.author == client.user:
        return
    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

@client.event
async def on_member_join(member):
    await message.channel.send('Welcome!')
    print('New User Detected')




client.run(TOKEN)

标签: pythonpython-3.xdiscord

解决方案


让我们看看……嗯

如果有 kwarg 成员,机器人是否知道什么messagechannel是什么。on_member_join不,它没有!

消息和频道未在on_member_join. 一、获取渠道

channel = client.get_channel(ChannelID) 这将为您提供您想要发送消息的频道。之后,我们将简单地使用channel.send("message")来发送消息。

最终代码将如下所示:

@client.event
async def on_member_join(member):
    channel = client.get_channel(ChannelID)
    await channel.send('Welcome!')
    print('New User Detected')

推荐阅读