我正在尝试创建一个基本的不和谐机器人,目前正在尝试实施欢迎消息。我没有收到错误消息,它什么也没做,如果我尝试在成员加入时将消息打印到控制台,则什么也没有发生。 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)
答案 0 :(得分:2)
让我们看看...嗯
机器人是否知道 message
和 channel
在具有 kwarg 成员的 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')