[英](Discord.py) Make my Bot only Respond to DM's
所以我設法讓我的 Bot 工作的基礎知識很好。 但是,當我嘗試發送一條消息時,例如執行/ping
時,機器人會回復它,而不管命令在哪個頻道中執行,包括 DM,然后我編寫了一條語句,使其僅響應某些 Discord 頻道中的命令在服務器上。 這似乎確實有效,但是,當我嘗試將通道數組更改為discord.DMChannel
時,這似乎無效。 有人可以幫我解決這個問題嗎?
channels = ["general"]
if str(message.channel) in channels:
if message.content == "/ping":
await message.channel.send("Pong")
但是如果我把它改成這樣:
channels = [discord.DMChannel]
if str(message.channel) in channels:
if message.content == "/ping":
await message.channel.send("Pong")
機器人不響應 DMChannel 消息。
您可以嘗試設置機器人意圖,但請記住這些會影響整個機器人,而不僅僅是一個命令。
...
my_intents = discord.Intents.default()
my_intents.guild_messages = False # turn off messages from guilds, so you only get messages from DM channels
# optionally turn on members or presences here if you need them
client = discord.Client(..., intents=my_intents) # or discord.Bot() or whatever
...
你可以簡單地做
await ctx.author.send
它只會在 dms 中發送響應。 它也可以在頻道中使用,但它會在 dms 中發送響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.