Discord bot无法检测消息作者python

时间:2018-01-19 03:28:24

标签: python discord discord.py

当某个用户发送消息时,Discord bot不允许我触发命令。

import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio

Client = discord.Client()
client = commands.Bot(command_prefix = "!")


@client.event
async def on_message(message): 
    if message.author == "exampleuser#0000":
        await client.send_message(message.channel, "success")

client.run("insert token here")

2 个答案:

答案 0 :(得分:1)

你可以尝试

@client.event
async def on_message(message): 
    if message.author.id == "author ID":
        await client.send_message(message.channel, "success") 

要查找某人的ID,请先在discord中启用开发者模式(设置,外观,高级)。之后,右键单击discord中的名称,然后单击“复制ID”。然后,将ID粘贴到作者ID中。希望这有帮助!

答案 1 :(得分:0)

正如the documentation中所述,message.authorMember object,而不是字符串。将成员与字符串进行比较将始终生成False

由于MemberUser的子类,您可以使用id attribute来识别作者:

@client.event
async def on_message(message): 
    if message.author.id == "some_id":
        await client.send_message(message.channel, "success")

This article介绍了如何查找用户的ID。总结一下:

  1. 在设置下启用开发者模式 - >外观 - >高级
  2. 右键点击一位用户,然后点击"复制ID"