簡體   English   中英

Discord.py 從頻道讀取消息

[英]Discord.py read messages from channels

我正在嘗試收聽來自我不是所有者的行會內特定頻道的所有消息,我開始嘗試使用下面的代碼收聽所有消息,但沒有成功。 如果可能的話,我該如何使用頻道 ID?

謝謝你!

import discord

client = discord.Client()
guild = discord.Guild
messages =  []


print("Bot started")
@client.event
async def on_message(message):

    msg = message.content

    if msg != "" :
 
        messages.append(msg)

    while True:
        print(messages)
    
client.run('TOKENHERE')

每條message object 都有發送它的通道作為屬性。 您可以簡單地比較 id,如果它們匹配,則運行您的代碼。
還要確保你有messages意圖,以便on_message()事件起作用,就像這里說的那樣。

import discord

intents = discord.Intents.default()
intents.messages = True

client = discord.Client(intents = intents)
guild = discord.Guild
messages =  []


print("Bot started")
@client.event
async def on_message(message):
    
    channelIDsToListen = [ 12345, 54321 ] # put the channels that you want to listen to here

    if message.channel.id in channelIDsToListen:

        if message.content != "" :
 
            messages.append(message.content)

        print("New message: " + message.content)
    
client.run('TOKENHERE')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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