diff --git a/app/chain/message.py b/app/chain/message.py index b478b028..745f8366 100644 --- a/app/chain/message.py +++ b/app/chain/message.py @@ -275,7 +275,8 @@ class MessageChain(ChainBase): # 保存缓存 self.save_cache(user_cache, self._cache_file) # 删除原消息 - if ChannelCapabilityManager.supports_deletion(channel): + if (original_message_id and original_chat_id and + ChannelCapabilityManager.supports_deletion(channel)): self.delete_message( channel=channel, source=source, @@ -289,9 +290,7 @@ class MessageChain(ChainBase): title=mediainfo.title, items=contexts[:self._page_size], userid=userid, - total=len(contexts), - original_message_id=original_message_id, - original_chat_id=original_chat_id) + total=len(contexts)) elif cache_type in ["Subscribe", "ReSubscribe"]: # 订阅或洗版媒体 @@ -490,9 +489,7 @@ class MessageChain(ChainBase): source=source, title=meta.name, items=medias[:self._page_size], - userid=userid, total=len(medias), - original_message_id=original_message_id, - original_chat_id=original_chat_id) + userid=userid, total=len(medias)) else: # 广播事件 self.eventmanager.send_event( @@ -541,15 +538,9 @@ class MessageChain(ChainBase): # 解析系统回调数据 try: page_text = callback_data.split("_", 1)[1] - if callback_data.startswith('page_'): - # 翻页操作原位更新消息 - self.handle_message(channel=channel, source=source, userid=userid, username=username, - text=page_text, - original_message_id=original_message_id, original_chat_id=original_chat_id) - else: - # 处理新消息 - self.handle_message(channel=channel, source=source, userid=userid, username=username, - text=page_text) + self.handle_message(channel=channel, source=source, userid=userid, username=username, + text=page_text, + original_message_id=original_message_id, original_chat_id=original_chat_id) except IndexError: logger.error(f"回调数据格式错误:{callback_data}") self.post_message(Notification( diff --git a/app/modules/slack/__init__.py b/app/modules/slack/__init__.py index fc0e078c..cffdb948 100644 --- a/app/modules/slack/__init__.py +++ b/app/modules/slack/__init__.py @@ -334,7 +334,7 @@ class SlackModule(_ModuleBase, _MessageBase[Slack]): success = False for conf in self.get_configs().values(): if channel != self._channel: - continue + break if source != conf.name: continue client: Slack = self.get_instance(conf.name) diff --git a/app/modules/slack/slack.py b/app/modules/slack/slack.py index 6cc78127..3931ecee 100644 --- a/app/modules/slack/slack.py +++ b/app/modules/slack/slack.py @@ -158,7 +158,7 @@ class Slack: "emoji": True }, "url": button["url"], - "action_id": f"actionId-url-{len(elements)}" + "action_id": f"actionId-url-{button.get('text', 'url')}-{len(elements)}" }) else: # 回调按钮 @@ -300,7 +300,7 @@ class Slack: "emoji": True }, "url": button["url"], - "action_id": f"actionId-url-{len(elements)}" + "action_id": f"actionId-url-{button.get('text', 'url')}-{len(elements)}" }) else: elements.append({ @@ -465,7 +465,7 @@ class Slack: "emoji": True }, "url": button["url"], - "action_id": f"actionId-url-{len(elements)}" + "action_id": f"actionId-url-{button.get('text', 'url')}-{len(elements)}" }) else: elements.append({ diff --git a/app/modules/telegram/__init__.py b/app/modules/telegram/__init__.py index a747dd68..f9905798 100644 --- a/app/modules/telegram/__init__.py +++ b/app/modules/telegram/__init__.py @@ -299,7 +299,7 @@ class TelegramModule(_ModuleBase, _MessageBase[Telegram]): success = False for conf in self.get_configs().values(): if channel != self._channel: - continue + break if source != conf.name: continue client: Telegram = self.get_instance(conf.name)