不和.py连发短信

2024-09-30 16:25:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个在线留言活动:

问题是,当它们都在同一个代码中时,只有位于较低位置的代码起作用。当我把它取下时,另一个起作用,反之亦然。他们两个都以等待结束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)

Tags: 代码inclienteventmessageasyncifon
1条回答
网友
1楼 · 发布于 2024-09-30 16:25:07

当您调用def两次时,您正在重新定义on_message(message)函数。这将覆盖上面的async def on_message(message)。在

你应该做的是把两者合并成一个函数。在

我强烈建议你调查不和.pyexamples他们有一个预先制作好的基本bot,其中有一个已经内置的命令解析器。在

相关问题 更多 >