当某个用户发送消息时,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")
答案 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.author
是Member
object,而不是字符串。将成员与字符串进行比较将始终生成False
。
由于Member
是User
的子类,您可以使用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。总结一下: