class_docstr: Send message using a DingTalk Custom Robot API.
  
  .. seealso::
      `How to get webhook token <https://open.dingtalk.com/document/robots/custom-robot-access>`__
  
  :param dingding_conn_id: Dingding connection id that has access token in the password field,
      and optional host name in host field, if host not set than default
      ``https://oapi.dingtalk.com`` will use.
  :param message_type: Message type you want to send to Dingding, support five type so far
      including ``text``, ``link``, ``markdown``, ``actionCard``, ``feedCard``.
  :param message: The message send to chat group
  :param at_mobiles: Remind specific users with this message
  :param at_all: Remind all people in group or not. If True, will overwrite ``at_mobiles``
class_docstr_tok: ["Send","message","using","a","DingTalk","Custom","Robot","API",".","..","seealso",":",":","`","How","to","get","webhook","token","<","https",":","\/\/open.dingtalk.com\/document\/robots\/custom-robot-access",">","`","__",":","param","dingding_conn_id",":","Dingding","connection","id","that","has","access","token","in","the","password","field",",","and","optional","host","name","in","host","field",",","if","host","not","set","than","default","``","https",":","\/\/oapi.dingtalk.com","``","will","use",".",":","param","message_type",":","Message","type","you","want","to","send","to","Dingding",",","support","five","type","so","far","including","``","text","``",",","``","link","``",",","``","markdown","``",",","``","actionCard","``",",","``","feedCard","``",".",":","param","message",":","The","message","send","to","chat","group",":","param","at_mobiles",":","Remind","specific","users","with","this","message",":","param","at_all",":","Remind","all","people","in","group","or","not",".","If","True",",","will","overwrite","``","at_mobiles","``"]
docstr: Build different type of DingTalk custom robot messages.
docstr_tok: ["Build","different","type","of","DingTalk","custom","robot","messages","."]
code: def _build_message(self) -> str:
      """Build different type of DingTalk custom robot messages."""
      if self.message_type in ["text", "markdown"]:
          data = {
              "msgtype": self.message_type,
              self.message_type: {"content": self.message}
              if self.message_type == "text"
              else self.message,
              "at": {
                  "atMobiles": self.at_mobiles,
                  "isAtAll": self.at_all,
              },
          }
      else:
          data = {
              "msgtype": self.message_type,
              self.message_type: self.message,
          }
      return json.dumps(data)
  
file_path: airflow/airflow/providers/dingding/hooks/dingding.py
imports: from __future__ import annotations
  import json
  import requests
  from requests import Session
  from airflow.exceptions import AirflowException
  from airflow.providers.http.hooks.http import HttpHook
label_desc: Use image node_id 3 for calling the DingdingHook obj's underlying member method code with example usage: obj._build_message() and returns: json