aiobearychat.openapi.channel_api 源代码

# -*- coding: utf-8 -*-
"""讨论组相关 API.

auto generated by script at 2017-08-24 21:50:13.459796. don't edit it.

"""
from typing import Any

from attr import NOTHING

from aiobearychat.abc import API
from aiobearychat.sansio import Response, clean_nothing_keys


[文档]class ChannelAPI(API): """讨论组相关 API."""
[文档] async def info(self, channel_id: str, **requester_params: Any) -> Response: """返回指定讨论组的完整信息。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.info.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 200 时: { "private": false, "general": true, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "所有人", "is_member": false, "is_active": true, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } """ url_params = {} body_params = {} url_params['token'] = self._token url_params.update({ 'channel_id': channel_id, }) url = self.base_url + '/channel.info' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) body_params = None return await self._make_request('get', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def list(self, **requester_params: Any) -> Response: """返回团队内的讨论组列表,获取某个讨论组的完整信息,请使用 ``channel.info``. 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.list.md :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 200 时: [ { "private": false, "general": true, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "所有人", "is_member": false, "is_active": true, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } ] """ url_params = {} body_params = {} url_params['token'] = self._token url_params.update({ }) url = self.base_url + '/channel.list' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) body_params = None return await self._make_request('get', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def create(self, name: str, *, topic: str = NOTHING, private: bool = NOTHING, **requester_params: Any) -> Response: """创建一个讨论组. 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.create.md :param name: | 讨论组名称,可以包含 2 到 20 个英文字符或 1 到 10 个中文字符。 | 允许使用数字、下划线 (``_``)、中线 (``-``) 和点。 (示例: ``吃喝玩乐在深圳``) :type name: :class:`str` :param topic: 讨论组话题 (示例: ``今天吃什么?``) :type topic: :class:`str` :param private: 讨论组是否为私密? :type private: :class:`bool` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 201 时: { "private": false, "general": true, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "所有人", "is_member": false, "is_active": true, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'name': name, 'topic': topic, 'private': private, }) url = self.base_url + '/channel.create' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def archive(self, channel_id: str, **requester_params: Any) -> Response: """归档一个讨论组。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.archive.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 200 时: { "private": false, "general": true, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "所有人", "is_member": false, "is_active": false, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, }) url = self.base_url + '/channel.archive' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def unarchive(self, channel_id: str, **requester_params: Any) -> Response: """恢复一个已被归档的讨论组。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.unarchive.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 200 时: { "private": false, "general": true, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "所有人", "is_member": false, "is_active": true, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, }) url = self.base_url + '/channel.unarchive' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def leave(self, channel_id: str, **requester_params: Any) -> Response: """当前用户离开讨论组。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.leave.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 204 时: """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, }) url = self.base_url + '/channel.leave' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def join(self, channel_id: str, **requester_params: Any) -> Response: """当前用户加入指定讨论组。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.join.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 200 时: { "private": false, "general": false, "latest_ts": 1486367046281, "uid": "=bw52O", "name": "吃喝玩乐在深圳", "is_member": false, "is_active": true, "type": "normal", "topic": null, "member_uids": [ "=bw52O" ], "vchannel_id": "=bw52O", "id": "=bw52O", "team_id": "=bw52O" } """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, }) url = self.base_url + '/channel.join' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def invite(self, channel_id: str, invite_uid: str, **requester_params: Any) -> Response: """当前用户邀请一个团队成员加入讨论组。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.invite.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :param invite_uid: 邀请用户 id (示例: ``=bw52O``) :type invite_uid: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 204 时: """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, 'invite_uid': invite_uid, }) url = self.base_url + '/channel.invite' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def kick(self, channel_id: str, kick_uid: str, **requester_params: Any) -> Response: """当前用户移除一个讨论组成员。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.kick.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :param kick_uid: 移除用户 id (示例: ``=bw52O``) :type kick_uid: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 204 时: """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, 'kick_uid': kick_uid, }) url = self.base_url + '/channel.kick' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)
[文档] async def kickout(self, channel_id: str, kick_uid: str, **requester_params: Any) -> Response: """当前用户移除一个讨论组成员。 官方文档地址:https://github.com/bearyinnovative/OpenAPI/blob/master/api/channel.kickout.md :param channel_id: 讨论组 id (示例: ``=bw52O``) :type channel_id: :class:`str` :param kick_uid: 移除用户 id (示例: ``=bw52O``) :type kick_uid: :class:`str` :return: response. 一个 :class:`aiobearychat.sansio.Response` 实例 :rtype: :class:`aiobearychat.sansio.Response` ``response.body`` 返回值示例:: response.status 等于 204 时: """ url_params = {} body_params = {} body_params['token'] = self._token body_params.update({ 'channel_id': channel_id, 'kick_uid': kick_uid, }) url = self.base_url + '/channel.kickout' headers = { 'content-type': 'application/json', } url_params = clean_nothing_keys(url_params) body_params = clean_nothing_keys(body_params) return await self._make_request('post', url, url_params=url_params, body_params=body_params, headers=headers, **requester_params)