第一次提交:阿龙电竞 Django 后端最新版本
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# -*- coding: utf8 -*-
|
||||
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# CAM签名/鉴权错误。
|
||||
AUTHFAILURE = 'AuthFailure'
|
||||
|
||||
# 操作失败。
|
||||
FAILEDOPERATION = 'FailedOperation'
|
||||
|
||||
# 交易流水号重复
|
||||
FAILEDOPERATION_DUPLICATETRADESERIALNO = 'FailedOperation.DuplicateTradeSerialNo'
|
||||
|
||||
# 直播会员已经过期
|
||||
FAILEDOPERATION_USERLIVEVIPTIMEEXPIRE = 'FailedOperation.UserLiveVipTimeExpire'
|
||||
|
||||
# 非直播会员用户
|
||||
FAILEDOPERATION_USERNOTLIVEVIP = 'FailedOperation.UserNotLiveVip'
|
||||
|
||||
# 内部错误。
|
||||
INTERNALERROR = 'InternalError'
|
||||
|
||||
# 参数错误。
|
||||
INVALIDPARAMETER = 'InvalidParameter'
|
||||
|
||||
# 参数取值错误。
|
||||
INVALIDPARAMETERVALUE = 'InvalidParameterValue'
|
||||
|
||||
# 缺少参数错误。
|
||||
MISSINGPARAMETER = 'MissingParameter'
|
||||
|
||||
# 资源不存在。
|
||||
RESOURCENOTFOUND = 'ResourceNotFound'
|
||||
|
||||
# 资源不可用。
|
||||
RESOURCEUNAVAILABLE = 'ResourceUnavailable'
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,486 @@
|
||||
# -*- coding: utf8 -*-
|
||||
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import json
|
||||
|
||||
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
|
||||
from tencentcloud.common.abstract_client import AbstractClient
|
||||
from tencentcloud.yinsuda.v20220527 import models
|
||||
|
||||
|
||||
class YinsudaClient(AbstractClient):
|
||||
_apiVersion = '2022-05-27'
|
||||
_endpoint = 'yinsuda.tencentcloudapi.com'
|
||||
_service = 'yinsuda'
|
||||
|
||||
|
||||
def ApplyChorus(self, request):
|
||||
r"""申请合唱相关信息,用于标记用户的演唱是在合唱场景下。
|
||||
|
||||
:param request: Request instance for ApplyChorus.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.ApplyChorusRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.ApplyChorusResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("ApplyChorus", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.ApplyChorusResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def BatchDescribeKTVMusicDetails(self, request):
|
||||
r"""批量获取歌曲详细信息,包括:歌词下载链接、播放凭证、音高数据下载链接信息等。
|
||||
|
||||
:param request: Request instance for BatchDescribeKTVMusicDetails.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.BatchDescribeKTVMusicDetailsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.BatchDescribeKTVMusicDetailsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("BatchDescribeKTVMusicDetails", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.BatchDescribeKTVMusicDetailsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def CreateKTVRobot(self, request):
|
||||
r"""创建机器人,支持进入 RTC 房间,播放曲库歌曲。
|
||||
|
||||
:param request: Request instance for CreateKTVRobot.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.CreateKTVRobotRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.CreateKTVRobotResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("CreateKTVRobot", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.CreateKTVRobotResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVMatchMusics(self, request):
|
||||
r"""根据输入的规则匹配曲库中的歌曲。
|
||||
|
||||
:param request: Request instance for DescribeKTVMatchMusics.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMatchMusicsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMatchMusicsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVMatchMusics", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVMatchMusicsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVMusicAccompanySegmentUrl(self, request):
|
||||
r"""获取歌曲伴奏片段链接,可用于抢唱
|
||||
|
||||
:param request: Request instance for DescribeKTVMusicAccompanySegmentUrl.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicAccompanySegmentUrlRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicAccompanySegmentUrlResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVMusicAccompanySegmentUrl", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVMusicAccompanySegmentUrlResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVMusicAccompanySegmentUrlVip(self, request):
|
||||
r"""获取歌曲伴奏高潮的开始、结束时间,可用于抢唱
|
||||
|
||||
:param request: Request instance for DescribeKTVMusicAccompanySegmentUrlVip.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicAccompanySegmentUrlVipRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicAccompanySegmentUrlVipResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVMusicAccompanySegmentUrlVip", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVMusicAccompanySegmentUrlVipResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVMusicsByTag(self, request):
|
||||
r"""通过标签过滤歌曲列表。
|
||||
|
||||
:param request: Request instance for DescribeKTVMusicsByTag.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicsByTagRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVMusicsByTagResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVMusicsByTag", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVMusicsByTagResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVPlaylistDetail(self, request):
|
||||
r"""根据歌单 Id 获取歌单详情。
|
||||
|
||||
:param request: Request instance for DescribeKTVPlaylistDetail.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVPlaylistDetailRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVPlaylistDetailResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVPlaylistDetail", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVPlaylistDetailResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVPlaylists(self, request):
|
||||
r"""获取歌单列表。
|
||||
|
||||
:param request: Request instance for DescribeKTVPlaylists.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVPlaylistsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVPlaylistsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVPlaylists", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVPlaylistsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVRobots(self, request):
|
||||
r"""获取机器人列表,支持 Id、状态等过滤条件。
|
||||
|
||||
:param request: Request instance for DescribeKTVRobots.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVRobotsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVRobotsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVRobots", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVRobotsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVSuggestions(self, request):
|
||||
r"""根据关键词获取联想词列表。
|
||||
|
||||
:param request: Request instance for DescribeKTVSuggestions.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVSuggestionsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVSuggestionsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVSuggestions", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVSuggestionsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeKTVTags(self, request):
|
||||
r"""获取标签分组及分组下的标签列表信息。
|
||||
|
||||
:param request: Request instance for DescribeKTVTags.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVTagsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeKTVTagsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeKTVTags", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeKTVTagsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeLiveVipTradeInfos(self, request):
|
||||
r"""批量获取直播会员充值流水详细信息,包括:流水号,订单状态,下订单时间等
|
||||
|
||||
:param request: Request instance for DescribeLiveVipTradeInfos.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeLiveVipTradeInfosRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeLiveVipTradeInfosResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeLiveVipTradeInfos", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeLiveVipTradeInfosResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeUserInfo(self, request):
|
||||
r"""获取用户信息,包括是否为直播会员,及直播会员信息等
|
||||
|
||||
:param request: Request instance for DescribeUserInfo.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeUserInfoRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeUserInfoResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeUserInfo", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeUserInfoResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DescribeVipUserInfo(self, request):
|
||||
r"""获取会员信息:获取用户是否开通会员
|
||||
|
||||
:param request: Request instance for DescribeVipUserInfo.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DescribeVipUserInfoRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DescribeVipUserInfoResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DescribeVipUserInfo", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DescribeVipUserInfoResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def DestroyKTVRobot(self, request):
|
||||
r"""销毁机器人,机器人退出 RTC 房间。
|
||||
|
||||
:param request: Request instance for DestroyKTVRobot.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.DestroyKTVRobotRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.DestroyKTVRobotResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("DestroyKTVRobot", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.DestroyKTVRobotResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def RechargeLiveVip(self, request):
|
||||
r"""充值直播会员,使该用户可以在直播场景使用
|
||||
|
||||
:param request: Request instance for RechargeLiveVip.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.RechargeLiveVipRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.RechargeLiveVipResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("RechargeLiveVip", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.RechargeLiveVipResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def RechargeVip(self, request):
|
||||
r"""充值会员
|
||||
|
||||
:param request: Request instance for RechargeVip.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.RechargeVipRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.RechargeVipResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("RechargeVip", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.RechargeVipResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def SearchKTVMusics(self, request):
|
||||
r"""根据关键词搜索歌曲,返回相关歌曲列表。
|
||||
|
||||
:param request: Request instance for SearchKTVMusics.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.SearchKTVMusicsRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.SearchKTVMusicsResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("SearchKTVMusics", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.SearchKTVMusicsResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
|
||||
|
||||
def SyncKTVRobotCommand(self, request):
|
||||
r"""下发操作机器人指令,支持播放、暂停、恢复、歌单设置等操作指令,实现对机器人行为的控制。
|
||||
|
||||
:param request: Request instance for SyncKTVRobotCommand.
|
||||
:type request: :class:`tencentcloud.yinsuda.v20220527.models.SyncKTVRobotCommandRequest`
|
||||
:rtype: :class:`tencentcloud.yinsuda.v20220527.models.SyncKTVRobotCommandResponse`
|
||||
|
||||
"""
|
||||
try:
|
||||
params = request._serialize()
|
||||
headers = request.headers
|
||||
body = self.call("SyncKTVRobotCommand", params, headers=headers)
|
||||
response = json.loads(body)
|
||||
model = models.SyncKTVRobotCommandResponse()
|
||||
model._deserialize(response["Response"])
|
||||
return model
|
||||
except Exception as e:
|
||||
if isinstance(e, TencentCloudSDKException):
|
||||
raise
|
||||
else:
|
||||
raise TencentCloudSDKException(type(e).__name__, str(e))
|
||||
@@ -0,0 +1,386 @@
|
||||
# -*- coding: utf8 -*-
|
||||
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
|
||||
from tencentcloud.common.abstract_client_async import AbstractClient
|
||||
from tencentcloud.yinsuda.v20220527 import models
|
||||
from typing import Dict
|
||||
|
||||
|
||||
class YinsudaClient(AbstractClient):
|
||||
_apiVersion = '2022-05-27'
|
||||
_endpoint = 'yinsuda.tencentcloudapi.com'
|
||||
_service = 'yinsuda'
|
||||
|
||||
async def ApplyChorus(
|
||||
self,
|
||||
request: models.ApplyChorusRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.ApplyChorusResponse:
|
||||
"""
|
||||
申请合唱相关信息,用于标记用户的演唱是在合唱场景下。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "ApplyChorus"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.ApplyChorusResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def BatchDescribeKTVMusicDetails(
|
||||
self,
|
||||
request: models.BatchDescribeKTVMusicDetailsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.BatchDescribeKTVMusicDetailsResponse:
|
||||
"""
|
||||
批量获取歌曲详细信息,包括:歌词下载链接、播放凭证、音高数据下载链接信息等。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "BatchDescribeKTVMusicDetails"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.BatchDescribeKTVMusicDetailsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def CreateKTVRobot(
|
||||
self,
|
||||
request: models.CreateKTVRobotRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.CreateKTVRobotResponse:
|
||||
"""
|
||||
创建机器人,支持进入 RTC 房间,播放曲库歌曲。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "CreateKTVRobot"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.CreateKTVRobotResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVMatchMusics(
|
||||
self,
|
||||
request: models.DescribeKTVMatchMusicsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVMatchMusicsResponse:
|
||||
"""
|
||||
根据输入的规则匹配曲库中的歌曲。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVMatchMusics"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVMatchMusicsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVMusicAccompanySegmentUrl(
|
||||
self,
|
||||
request: models.DescribeKTVMusicAccompanySegmentUrlRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVMusicAccompanySegmentUrlResponse:
|
||||
"""
|
||||
获取歌曲伴奏片段链接,可用于抢唱
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVMusicAccompanySegmentUrl"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVMusicAccompanySegmentUrlResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVMusicAccompanySegmentUrlVip(
|
||||
self,
|
||||
request: models.DescribeKTVMusicAccompanySegmentUrlVipRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVMusicAccompanySegmentUrlVipResponse:
|
||||
"""
|
||||
获取歌曲伴奏高潮的开始、结束时间,可用于抢唱
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVMusicAccompanySegmentUrlVip"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVMusicAccompanySegmentUrlVipResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVMusicsByTag(
|
||||
self,
|
||||
request: models.DescribeKTVMusicsByTagRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVMusicsByTagResponse:
|
||||
"""
|
||||
通过标签过滤歌曲列表。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVMusicsByTag"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVMusicsByTagResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVPlaylistDetail(
|
||||
self,
|
||||
request: models.DescribeKTVPlaylistDetailRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVPlaylistDetailResponse:
|
||||
"""
|
||||
根据歌单 Id 获取歌单详情。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVPlaylistDetail"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVPlaylistDetailResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVPlaylists(
|
||||
self,
|
||||
request: models.DescribeKTVPlaylistsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVPlaylistsResponse:
|
||||
"""
|
||||
获取歌单列表。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVPlaylists"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVPlaylistsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVRobots(
|
||||
self,
|
||||
request: models.DescribeKTVRobotsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVRobotsResponse:
|
||||
"""
|
||||
获取机器人列表,支持 Id、状态等过滤条件。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVRobots"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVRobotsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVSuggestions(
|
||||
self,
|
||||
request: models.DescribeKTVSuggestionsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVSuggestionsResponse:
|
||||
"""
|
||||
根据关键词获取联想词列表。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVSuggestions"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVSuggestionsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeKTVTags(
|
||||
self,
|
||||
request: models.DescribeKTVTagsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeKTVTagsResponse:
|
||||
"""
|
||||
获取标签分组及分组下的标签列表信息。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeKTVTags"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeKTVTagsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeLiveVipTradeInfos(
|
||||
self,
|
||||
request: models.DescribeLiveVipTradeInfosRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeLiveVipTradeInfosResponse:
|
||||
"""
|
||||
批量获取直播会员充值流水详细信息,包括:流水号,订单状态,下订单时间等
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeLiveVipTradeInfos"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeLiveVipTradeInfosResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeUserInfo(
|
||||
self,
|
||||
request: models.DescribeUserInfoRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeUserInfoResponse:
|
||||
"""
|
||||
获取用户信息,包括是否为直播会员,及直播会员信息等
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeUserInfo"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeUserInfoResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DescribeVipUserInfo(
|
||||
self,
|
||||
request: models.DescribeVipUserInfoRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DescribeVipUserInfoResponse:
|
||||
"""
|
||||
获取会员信息:获取用户是否开通会员
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DescribeVipUserInfo"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DescribeVipUserInfoResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def DestroyKTVRobot(
|
||||
self,
|
||||
request: models.DestroyKTVRobotRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.DestroyKTVRobotResponse:
|
||||
"""
|
||||
销毁机器人,机器人退出 RTC 房间。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "DestroyKTVRobot"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.DestroyKTVRobotResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def RechargeLiveVip(
|
||||
self,
|
||||
request: models.RechargeLiveVipRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.RechargeLiveVipResponse:
|
||||
"""
|
||||
充值直播会员,使该用户可以在直播场景使用
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "RechargeLiveVip"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.RechargeLiveVipResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def RechargeVip(
|
||||
self,
|
||||
request: models.RechargeVipRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.RechargeVipResponse:
|
||||
"""
|
||||
充值会员
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "RechargeVip"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.RechargeVipResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def SearchKTVMusics(
|
||||
self,
|
||||
request: models.SearchKTVMusicsRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.SearchKTVMusicsResponse:
|
||||
"""
|
||||
根据关键词搜索歌曲,返回相关歌曲列表。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "SearchKTVMusics"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.SearchKTVMusicsResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
|
||||
async def SyncKTVRobotCommand(
|
||||
self,
|
||||
request: models.SyncKTVRobotCommandRequest,
|
||||
opts: Dict = None,
|
||||
) -> models.SyncKTVRobotCommandResponse:
|
||||
"""
|
||||
下发操作机器人指令,支持播放、暂停、恢复、歌单设置等操作指令,实现对机器人行为的控制。
|
||||
"""
|
||||
|
||||
kwargs = {}
|
||||
kwargs["action"] = "SyncKTVRobotCommand"
|
||||
kwargs["params"] = request._serialize()
|
||||
kwargs["resp_cls"] = models.SyncKTVRobotCommandResponse
|
||||
kwargs["headers"] = request.headers
|
||||
kwargs["opts"] = opts or {}
|
||||
|
||||
return await self.call_and_deserialize(**kwargs)
|
||||
Reference in New Issue
Block a user