Пример #1
0
    def send_message(self,
                     content,
                     user_id=None,
                     profile_url=None,
                     user_slug=None,
                     **kwargs):
        """
        给指定的用户发私信
        :param content 私信内容
        :param user_id 用户id
        :param profile_url :用户主页地址
        :param user_slug : 用户的个性域名

        >>> send_message(profile_url = "https://www.zhihu.com/people/xiaoxiaodouzi")
        >>> send_message(user_slug = "xiaoxiaodouzi")
        >>> send_message(user_id = "1da75b85900e00adb072e91c56fd9149")
        """
        if not any([user_id, profile_url, user_slug]):
            raise ZhihuError("至少指定一个关键字参数")

        if user_id is None:
            user_slug = self._user_slug(
                profile_url) if user_slug is None else user_slug
            user_id = self._user_id(user_slug)

        data = {"type": "common", "content": content, "receiver_hash": user_id}
        response = self._session.post(URL.message(), json=data, **kwargs)
        if response.ok:
            self.log("发送成功")
        else:
            self.log("发送失败")
        return response.text
Пример #2
0
    def send_message(self,
                     content,
                     user_id=None,
                     user_url=None,
                     user_slug=None):
        """
        给指定的用户发私信
        :param content 私信内容
        :param user_id 用户id
        :param user_url: 用户主页地址
        :param user_slug : 用户的个性域名
        Usege::

          >>> send_message(profile_url = "https://www.zhihu.com/people/xiaoxiaodouzi")
          >>> send_message(user_slug = "xiaoxiaodouzi")
          >>> send_message(user_id = "1da75b85900e00adb072e91c56fd9149")
        """

        assert any((user_id, user_url, user_slug)), "至少指定一个关键字参数"

        if not user_id:
            user_id = self._user_id(user_slug=user_slug, user_url=user_url)
        data = {"type": "common", "content": content, "receiver_hash": user_id}
        response = self._execute(method='post', url=URL.message(), json=data)
        return response