我正在尝试将事件添加到我的机器人,每当特定配置文件在频道中说出某些内容时,它都会响应,我的想法是比较
message.author
到一个字符串,然后它将发送一条消息
import discord
from discord.ext import commands
client = commands.Bot(command_prefix=".")
@client.event
async def on_ready():
print('bot is ready')
print(client.user)
@client.event
async def on_message(message):
print(f"'{message.content}' said by {message.author}")
if message.author == "MESSAGE AUTHOR":
await message.channel.send(f"{message.author} said something")
再次
message.author
与该字符串(当前为“ MESSAGE AUTHOR”)匹配时,该漫游器应做出响应,但这没有发生。
答案 0 :(得分:0)
像User
这样的message.author
对象永远不会等于字符串。您可以测试用户的字符串表示形式,该字符串表示形式由用户名和区分符组成:
if str(message.author) == "Junar#1234":
一个更好的主意是使用其ID。用户可以更改其用户名,从而更改其字符串表示形式,但不能更改其ID。
if message.author.id == 1234567890:
您可以编写一些不一致的代码来输出用户的ID,也可以在不一致的客户端中启用开发人员模式,然后在成员列表中右键单击其名称。