我有两个在线留言活动:
问题是,当它们都在同一个代码中时,只有位于较低位置的代码起作用。当我把它取下时,另一个起作用,反之亦然。他们两个都以等待结束client.process_命令(消息)。在
@client.event
async def on_message(message):
contents = message.content.split(" ") #contents is a list type
for word in contents:
if word.upper() in chat_filter:
if not message.author.id in bypass_list:
await client.delete_message(message)
await client.send_message(message.channel, "Hey! You are not allowed to use that word here!")
await client.process_commands(message)
@client.event
async def on_message(message):
if message.content.startswith('ping'):
await client.send_message(message.channel, 'pong')
await client.process_commands(message)
当您调用
def
两次时,您正在重新定义on_message(message)
函数。这将覆盖上面的async def on_message(message)
。在你应该做的是把两者合并成一个函数。在
我强烈建议你调查不和.pyexamples他们有一个预先制作好的基本bot,其中有一个已经内置的命令解析器。在
相关问题 更多 >
编程相关推荐