mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
feat(telegram): 支持 disable_web_page_preview 禁用链接预览
Notification schema 新增 disable_web_page_preview 字段,透传至 Telegram send_message, 插件可通过 post_message(disable_web_page_preview=True) 关闭链接预览, 不传时行为与旧版一致,完全向后兼容。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
committed by
jxxghp
co-authored by
Claude Opus 4.6
parent
321bf94de8
commit
5440dbae51
@@ -384,6 +384,7 @@ class TelegramModule(_ModuleBase, _MessageBase[Telegram]):
|
|||||||
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,
|
||||||
|
disable_web_page_preview=message.disable_web_page_preview,
|
||||||
)
|
)
|
||||||
|
|
||||||
def post_medias_message(
|
def post_medias_message(
|
||||||
@@ -522,6 +523,7 @@ class TelegramModule(_ModuleBase, _MessageBase[Telegram]):
|
|||||||
image=message.image,
|
image=message.image,
|
||||||
userid=userid,
|
userid=userid,
|
||||||
link=message.link,
|
link=message.link,
|
||||||
|
disable_web_page_preview=message.disable_web_page_preview,
|
||||||
)
|
)
|
||||||
if result and result.get("success"):
|
if result and result.get("success"):
|
||||||
return MessageResponse(
|
return MessageResponse(
|
||||||
|
|||||||
@@ -333,6 +333,7 @@ class Telegram:
|
|||||||
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,
|
original_chat_id: Optional[str] = None,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
) -> Optional[dict]:
|
) -> Optional[dict]:
|
||||||
"""
|
"""
|
||||||
发送Telegram消息
|
发送Telegram消息
|
||||||
@@ -344,6 +345,7 @@ 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,编辑消息时需要
|
||||||
|
:param disable_web_page_preview: 是否禁用链接预览
|
||||||
:return: 包含 message_id, chat_id, success 的字典
|
:return: 包含 message_id, chat_id, success 的字典
|
||||||
"""
|
"""
|
||||||
if not self._telegram_token or not self._telegram_chat_id:
|
if not self._telegram_token or not self._telegram_chat_id:
|
||||||
@@ -397,6 +399,7 @@ class Telegram:
|
|||||||
image=image,
|
image=image,
|
||||||
caption=caption,
|
caption=caption,
|
||||||
reply_markup=reply_markup,
|
reply_markup=reply_markup,
|
||||||
|
disable_web_page_preview=disable_web_page_preview,
|
||||||
)
|
)
|
||||||
self._stop_typing_task(chat_id)
|
self._stop_typing_task(chat_id)
|
||||||
if sent and hasattr(sent, "message_id"):
|
if sent and hasattr(sent, "message_id"):
|
||||||
@@ -766,10 +769,12 @@ class Telegram:
|
|||||||
image="",
|
image="",
|
||||||
caption="",
|
caption="",
|
||||||
reply_markup: Optional[InlineKeyboardMarkup] = None,
|
reply_markup: Optional[InlineKeyboardMarkup] = None,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
向Telegram发送报文,返回发送的消息对象
|
向Telegram发送报文,返回发送的消息对象
|
||||||
:param reply_markup: 内联键盘
|
:param reply_markup: 内联键盘
|
||||||
|
:param disable_web_page_preview: 是否禁用链接预览
|
||||||
:return: 发送成功返回消息对象,失败返回None
|
:return: 发送成功返回消息对象,失败返回None
|
||||||
"""
|
"""
|
||||||
kwargs = {
|
kwargs = {
|
||||||
@@ -777,6 +782,8 @@ class Telegram:
|
|||||||
"parse_mode": "MarkdownV2",
|
"parse_mode": "MarkdownV2",
|
||||||
"reply_markup": reply_markup,
|
"reply_markup": reply_markup,
|
||||||
}
|
}
|
||||||
|
if disable_web_page_preview is not None:
|
||||||
|
kwargs["disable_web_page_preview"] = disable_web_page_preview
|
||||||
|
|
||||||
# 处理图片
|
# 处理图片
|
||||||
image = self.__process_image(image)
|
image = self.__process_image(image)
|
||||||
|
|||||||
@@ -104,6 +104,8 @@ class Notification(BaseModel):
|
|||||||
original_message_id: Optional[Union[str, int]] = None
|
original_message_id: Optional[Union[str, int]] = None
|
||||||
# 原消息的聊天ID,用于编辑消息
|
# 原消息的聊天ID,用于编辑消息
|
||||||
original_chat_id: Optional[str] = None
|
original_chat_id: Optional[str] = None
|
||||||
|
# 是否禁用链接预览(仅Telegram支持)
|
||||||
|
disable_web_page_preview: Optional[bool] = None
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user