mirror of
				https://github.com/nonebot/nonebot2.git
				synced 2025-10-31 06:56:39 +00:00 
			
		
		
		
	🐛 fix ding adapter
1. fix send `at_sender` 2. fix event parse error 3. `MessageSegment` add `atDingtalkIds`/`code`
This commit is contained in:
		| @@ -216,7 +216,9 @@ class Bot(BaseBot): | ||||
|         params.update(kwargs) | ||||
|  | ||||
|         if at_sender and event.conversationType != ConversationType.private: | ||||
|             params["message"] = f"@{event.senderNick} " + msg | ||||
|             params[ | ||||
|                 "message"] = f"@{event.senderId} " + msg + MessageSegment.atDingtalkIds( | ||||
|                     event.senderId) | ||||
|         else: | ||||
|             params["message"] = msg | ||||
|  | ||||
|   | ||||
| @@ -77,7 +77,7 @@ class MessageEvent(Event): | ||||
|     conversationId: str | ||||
|     senderId: str | ||||
|     senderNick: str | ||||
|     senderCorpId: str | ||||
|     senderCorpId: Optional[str] | ||||
|     sessionWebhook: str | ||||
|     sessionWebhookExpiredTime: int | ||||
|     isAdmin: bool | ||||
|   | ||||
| @@ -44,6 +44,17 @@ class MessageSegment(BaseMessageSegment): | ||||
|         """@指定手机号人员""" | ||||
|         return MessageSegment("at", {"atMobiles": list(mobileNumber)}) | ||||
|  | ||||
|     @staticmethod | ||||
|     def atDingtalkIds(*dingtalkIds: str) -> "MessageSegment": | ||||
|         """@指定 id,@ 默认会在消息段末尾。 | ||||
|         所以你可以在消息中使用 @{senderId} 占位,发送出去之后 @ 就会出现在占位的位置: | ||||
|         ```python | ||||
|         message = MessageSegment.text(f"@{event.senderId},你好") | ||||
|         message += MessageSegment.atDingtalkIds(event.senderId) | ||||
|         ``` | ||||
|         """ | ||||
|         return MessageSegment("at", {"atDingtalkIds": list(dingtalkIds)}) | ||||
|  | ||||
|     @staticmethod | ||||
|     def text(text: str) -> "MessageSegment": | ||||
|         """发送 ``text`` 类型消息""" | ||||
| @@ -59,6 +70,16 @@ class MessageSegment(BaseMessageSegment): | ||||
|         """"标记 text 文本的 extension 属性,需要与 text 消息段相加。""" | ||||
|         return MessageSegment("extension", dict_) | ||||
|  | ||||
|     @staticmethod | ||||
|     def code(code_language: str, code: str) -> "Message": | ||||
|         """"发送 code 消息段""" | ||||
|         message = MessageSegment.text(code) | ||||
|         message += MessageSegment.extension({ | ||||
|             "text_type": "code_snippet", | ||||
|             "code_language": code_language | ||||
|         }) | ||||
|         return message | ||||
|  | ||||
|     @staticmethod | ||||
|     def markdown(title: str, text: str) -> "MessageSegment": | ||||
|         """发送 ``markdown`` 类型消息""" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user