我需要在discord.py重写1.6.0版本中将这3个on_message函数合并为1个函数,我该怎么办?
import discord
client = discord.Client()
@client.event
async def on_ready():
print('in on_ready')
@client.event
async def on_message(hi):
print("hello")
@client.event
async def on_message(Hey there):
print("General Kenobi")
@client.event
async def on_message(Hello):
print("Hi")
client.run("TOKEN")
答案 0 :(得分:1)
on_message
函数定义为:
async def on_message(message)
因此您需要检查 on_message
命令中的消息内容并根据其内容做任何您需要的操作,为此您可以使用 Message
对象的 content
属性,如此处定义here:
@client.event
async def on_message(message):
if message.content == "hi":
print("hello")
elif message.content == "Hey there":
print("General Kenobi")
elif message.content == "Hello":
print("Hi")
请注意,如果您希望机器人实际发送消息,则需要将 print(...)
替换为 await message.channel.send(...)
,因为这是您发送消息的方式,print
仅输出默认到终端。