mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix post_message
This commit is contained in:
@@ -68,5 +68,6 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
|
|||||||
username=self._username,
|
username=self._username,
|
||||||
title=title,
|
title=title,
|
||||||
text=message
|
text=message
|
||||||
)
|
),
|
||||||
|
escape_markdown=False
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -906,14 +906,14 @@ class ChainBase(metaclass=ABCMeta):
|
|||||||
# 按设定发送
|
# 按设定发送
|
||||||
self.eventmanager.send_event(etype=EventType.NoticeMessage,
|
self.eventmanager.send_event(etype=EventType.NoticeMessage,
|
||||||
data={**send_message.model_dump(), "type": send_message.mtype})
|
data={**send_message.model_dump(), "type": send_message.mtype})
|
||||||
self.messagequeue.send_message("post_message", message=send_message)
|
self.messagequeue.send_message("post_message", message=send_message, **kwargs)
|
||||||
if not send_orignal:
|
if not send_orignal:
|
||||||
return
|
return
|
||||||
# 发送消息事件
|
# 发送消息事件
|
||||||
self.eventmanager.send_event(etype=EventType.NoticeMessage, data={**message.model_dump(), "type": message.mtype})
|
self.eventmanager.send_event(etype=EventType.NoticeMessage, data={**message.model_dump(), "type": message.mtype})
|
||||||
# 按原消息发送
|
# 按原消息发送
|
||||||
self.messagequeue.send_message("post_message", message=message,
|
self.messagequeue.send_message("post_message", message=message,
|
||||||
immediately=True if message.userid else False)
|
immediately=True if message.userid else False, **kwargs)
|
||||||
|
|
||||||
async def async_post_message(self,
|
async def async_post_message(self,
|
||||||
message: Optional[Notification] = None,
|
message: Optional[Notification] = None,
|
||||||
@@ -989,7 +989,7 @@ class ChainBase(metaclass=ABCMeta):
|
|||||||
# 按设定发送
|
# 按设定发送
|
||||||
await self.eventmanager.async_send_event(etype=EventType.NoticeMessage,
|
await self.eventmanager.async_send_event(etype=EventType.NoticeMessage,
|
||||||
data={**send_message.model_dump(), "type": send_message.mtype})
|
data={**send_message.model_dump(), "type": send_message.mtype})
|
||||||
await self.messagequeue.async_send_message("post_message", message=send_message)
|
await self.messagequeue.async_send_message("post_message", message=send_message, **kwargs)
|
||||||
if not send_orignal:
|
if not send_orignal:
|
||||||
return
|
return
|
||||||
# 发送消息事件
|
# 发送消息事件
|
||||||
@@ -997,7 +997,7 @@ class ChainBase(metaclass=ABCMeta):
|
|||||||
data={**message.model_dump(), "type": message.mtype})
|
data={**message.model_dump(), "type": message.mtype})
|
||||||
# 按原消息发送
|
# 按原消息发送
|
||||||
await self.messagequeue.async_send_message("post_message", message=message,
|
await self.messagequeue.async_send_message("post_message", message=message,
|
||||||
immediately=True if message.userid else False)
|
immediately=True if message.userid else False, **kwargs)
|
||||||
|
|
||||||
def post_medias_message(self, message: Notification, medias: List[MediaInfo]) -> None:
|
def post_medias_message(self, message: Notification, medias: List[MediaInfo]) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ class SlackModule(_ModuleBase, _MessageBase[Slack]):
|
|||||||
userid=userid, username=username, text=text)
|
userid=userid, username=username, text=text)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息
|
:param message: 消息
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ class SynologyChatModule(_ModuleBase, _MessageBase[SynologyChat]):
|
|||||||
logger.debug(f"解析SynologyChat消息失败:{str(err)}")
|
logger.debug(f"解析SynologyChat消息失败:{str(err)}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息体
|
:param message: 消息体
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ class TelegramModule(_ModuleBase, _MessageBase[Telegram]):
|
|||||||
|
|
||||||
return cleaned
|
return cleaned
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息体
|
:param message: 消息体
|
||||||
@@ -283,7 +283,8 @@ class TelegramModule(_ModuleBase, _MessageBase[Telegram]):
|
|||||||
image=message.image, userid=userid, link=message.link,
|
image=message.image, userid=userid, link=message.link,
|
||||||
buttons=message.buttons,
|
buttons=message.buttons,
|
||||||
original_message_id=message.original_message_id,
|
original_message_id=message.original_message_id,
|
||||||
original_chat_id=message.original_chat_id)
|
original_chat_id=message.original_chat_id,
|
||||||
|
escape_markdown=kwargs.get("escape_markdown"))
|
||||||
|
|
||||||
def post_medias_message(self, message: Notification, medias: List[MediaInfo]) -> None:
|
def post_medias_message(self, message: Notification, medias: List[MediaInfo]) -> None:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class Telegram:
|
|||||||
_user_chat_mapping: Dict[str, str] = {} # userid -> chat_id mapping for reply targeting
|
_user_chat_mapping: Dict[str, str] = {} # userid -> chat_id mapping for reply targeting
|
||||||
_bot_username: Optional[str] = None # Bot username for mention detection
|
_bot_username: Optional[str] = None # Bot username for mention detection
|
||||||
_escape_chars = r'_*[]()~`>#+-=|{}.!' # Telegram MarkdownV2
|
_escape_chars = r'_*[]()~`>#+-=|{}.!' # Telegram MarkdownV2
|
||||||
_markdown_escape_pattern = re.compile(f'([{re.escape(_escape_chars)}])') #Telegram MarkdownV2 规则转义特殊字符正则pattern
|
_markdown_escape_pattern = re.compile(f'([{re.escape(_escape_chars)}])') # Telegram MarkdownV2 规则转义特殊字符正则pattern
|
||||||
def __init__(self, TELEGRAM_TOKEN: Optional[str] = None, TELEGRAM_CHAT_ID: Optional[str] = None, **kwargs):
|
def __init__(self, TELEGRAM_TOKEN: Optional[str] = None, TELEGRAM_CHAT_ID: Optional[str] = None, **kwargs):
|
||||||
"""
|
"""
|
||||||
初始化参数
|
初始化参数
|
||||||
@@ -216,7 +216,8 @@ class Telegram:
|
|||||||
userid: Optional[str] = None, link: Optional[str] = None,
|
userid: Optional[str] = None, link: Optional[str] = None,
|
||||||
buttons: Optional[List[List[dict]]] = None,
|
buttons: Optional[List[List[dict]]] = None,
|
||||||
original_message_id: Optional[int] = None,
|
original_message_id: Optional[int] = None,
|
||||||
original_chat_id: Optional[str] = None) -> Optional[bool]:
|
original_chat_id: Optional[str] = None,
|
||||||
|
escape_markdown: bool = True) -> Optional[bool]:
|
||||||
"""
|
"""
|
||||||
发送Telegram消息
|
发送Telegram消息
|
||||||
:param title: 消息标题
|
:param title: 消息标题
|
||||||
@@ -227,7 +228,8 @@ class Telegram:
|
|||||||
:param buttons: 按钮列表,格式:[[{"text": "按钮文本", "callback_data": "回调数据"}]]
|
:param buttons: 按钮列表,格式:[[{"text": "按钮文本", "callback_data": "回调数据"}]]
|
||||||
:param original_message_id: 原消息ID,如果提供则编辑原消息
|
:param original_message_id: 原消息ID,如果提供则编辑原消息
|
||||||
:param original_chat_id: 原消息的聊天ID,编辑消息时需要
|
:param original_chat_id: 原消息的聊天ID,编辑消息时需要
|
||||||
:userid: 发送消息的目标用户ID,为空则发给管理员
|
:param escape_markdown: 是否对内容进行Markdown转义
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if not self._telegram_token or not self._telegram_chat_id:
|
if not self._telegram_token or not self._telegram_chat_id:
|
||||||
return None
|
return None
|
||||||
@@ -240,9 +242,12 @@ class Telegram:
|
|||||||
if title:
|
if title:
|
||||||
title = self.escape_markdown(title)
|
title = self.escape_markdown(title)
|
||||||
if text:
|
if text:
|
||||||
# 对text进行Markdown特殊字符转义
|
if escape_markdown:
|
||||||
text = self.escape_markdown(text)
|
text = self.escape_markdown(text)
|
||||||
caption = f"*{title}*\n{text}"
|
if title:
|
||||||
|
caption = f"*{title}*\n{text}"
|
||||||
|
else:
|
||||||
|
caption = text
|
||||||
else:
|
else:
|
||||||
caption = f"*{title}*"
|
caption = f"*{title}*"
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ class VoceChatModule(_ModuleBase, _MessageBase[VoceChat]):
|
|||||||
logger.error(f"VoceChat消息处理发生错误:{str(err)}")
|
logger.error(f"VoceChat消息处理发生错误:{str(err)}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息内容
|
:param message: 消息内容
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ class WebPushModule(_ModuleBase, _MessageBase):
|
|||||||
def init_setting(self) -> Tuple[str, Union[str, bool]]:
|
def init_setting(self) -> Tuple[str, Union[str, bool]]:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息内容
|
:param message: 消息内容
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ class WechatModule(_ModuleBase, _MessageBase[WeChat]):
|
|||||||
logger.error(f"微信消息处理发生错误:{str(err)}")
|
logger.error(f"微信消息处理发生错误:{str(err)}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def post_message(self, message: Notification) -> None:
|
def post_message(self, message: Notification, **kwargs) -> None:
|
||||||
"""
|
"""
|
||||||
发送消息
|
发送消息
|
||||||
:param message: 消息内容
|
:param message: 消息内容
|
||||||
|
|||||||
Reference in New Issue
Block a user