[英]discord.py: Why isn't my join message working?
我很困惑為什么我的加入消息不起作用,我安裝了 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")
編輯以顯示完整代碼。 (對於那些愚蠢的東西,我很抱歉,它們運行得很好,但我只是想測試一些東西..)
我很困惑為什么我的加入消息不起作用,我安裝了 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")
編輯以顯示整個代碼。 (對不起那些愚蠢的東西,它們運行得很好,但我只是想測試一些東西..)
您是否嘗試過更改get_channel
行
channel = client.get_channel(800395922764070942)
到
channel = await client.fetch_channel(800395922764070942)
由於 discord.py (1.5.0) 中的最新更改,您現在需要使用意圖。 意圖能夠跟蹤發生的事情。
首先,您需要在開發人員門戶(您創建機器人的地方)上啟用它。 當你在那里時,select 你的申請,go 到機器人部分,向下滾動並勾選方框。
然后在您的代碼中,您需要在頂部添加:
intents = discord.Intents.default()
intents.members = True
client = discord.Client(intents=intents)
您現在將能夠接收諸如on_member_join 之類的事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.