Skip to content

Commit

Permalink
更改消息处理返回False的逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
hanckjt committed May 24, 2023
1 parent 0e4e61b commit 42d5f95
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/message_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,31 @@

def route_im_message(ctx: Context, conf: Config, event: MessageReceiveEvent) -> Any:
# ignore request if sender_type is not user
if event.event.sender.sender_type != "user":
if event.event.sender.sender_type != 'user':
return
# ignore request if event_type is not im.message.receive_v1
if event.header.event_type != "im.message.receive_v1":
if event.header.event_type != 'im.message.receive_v1':
return

if event_is_processed(event):
app_logger.debug("Skip already processed: %s", attr.asdict(event.event))
app_logger.debug('Skip already processed: %s', attr.asdict(event.event))
return
if event.event.message.create_time < (time.time() * 1000 - 10 * 60 * 1000):
# ignore event if event is 10 minutes old
app_logger.debug("Skip old event: %s", attr.asdict(event.event))
app_logger.debug('Skip old event: %s', attr.asdict(event.event))
return

myevent = MyReceiveEvent(event.event)
# ignore request if event is not group chat or not mentioned bot
if myevent.is_group_chat() and not myevent.is_mentioned_bot():
return

feishu_logger.info("Feishu message: %s", attr.asdict(event))
feishu_logger.info('Feishu message: %s', attr.asdict(event))

# ignore request if event has no content
if not myevent.has_content():
message_sender.send_text_message(myevent, '请发送包含文字或图片的消息')
feishu_logger.info("Skip event with no content:")
feishu_logger.info('Skip event with no content:')
return

done = False
Expand All @@ -64,7 +64,10 @@ def route_im_message(ctx: Context, conf: Config, event: MessageReceiveEvent) ->
else:
done = image_handler.handle_image(myevent)

if done:
mark_event_processed(event)
if not done:
message_sender.send_text_message(myevent, '生成失败!', True)

mark_event_processed(event)

except Exception as e:
message_sender.send_text_message(myevent, f'发生错误: {e}', True)

0 comments on commit 42d5f95

Please sign in to comment.