我很困惑为什么我的加入消息不起作用!我已经安装了 discord.py 库,我真的很困惑!我下面还有其他代码,但它不应该影响上面的。
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
@client.event
async def on_member_join(member):
print("Player has joined")
channel = await client.fetch_channel(800395922764070942)
await channel.send(f'{member} has joined!')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!loser'):
await message.channel.send('Hello loser! Nice to meet you.')
elif message.content.startswith('!bruh'):
await message.channel.send('BRUHHHHHHHHHHHHHHH!!!!')
client.run("Where my token is")
已编辑以显示完整代码。 (抱歉那些愚蠢的东西,它们运行得很好,但我只是想测试一些东西..)
答案 0 :(得分:0)
您错过了代码中作为最后一行的 client.run("YOUR-TOKEN")
行。
您可以在应用程序的“bot”部分中的 https://discord.com/developers/applications 上获取令牌。请勿与任何人共享该令牌。
答案 1 :(得分:0)
您是否尝试将 get_channel
行从
channel = client.get_channel(800395922764070942)
到
channel = await client.fetch_channel(800395922764070942)
答案 2 :(得分:0)
由于最近在 discord.py (1.5.0) 中发生了变化,您现在需要使用意图。意图能够跟踪发生的事情。
首先,您需要在 developer portal(您创建机器人的位置)上启用它。当你在那里时,选择你的应用程序,转到机器人部分,向下滚动并勾选框。
然后在您的代码中,您需要在顶部添加:
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
您现在可以接收诸如 on_member_join 之类的事件。