簡體   English   中英

discord.py:為什么我的加入消息不起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM