# frozen_string_literal: true # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. 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. require 'json' module TencentCloud module Gme module V20180711 class Client < TencentCloud::Common::AbstractClient def initialize(credential, region, profile = nil) api_version = '2018-07-11' api_endpoint = 'gme.tencentcloudapi.com' sdk_version = 'GME_' + File.read(File.expand_path('../VERSION', __dir__)).strip super(credential, region, api_version, api_endpoint, sdk_version, profile) end # 用于创建年龄语音识别任务的接口,请求频率10次/秒。该接口目前通过白名单开放试用,如有需求,请提交工单申请。 # #
如果在提交语音检测任务时未设置 Callback 字段,则需要通过本接口获取检测结果
# @param request: Request instance for DescribeScanResultList. # @type request: :class:`Tencentcloud::gme::V20180711::DescribeScanResultListRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::DescribeScanResultListResponse` def DescribeScanResultList(request) body = send_request('DescribeScanResultList', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = DescribeScanResultListResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 拉取用户在房间得进出时间 # @param request: Request instance for DescribeUserInAndOutTime. # @type request: :class:`Tencentcloud::gme::V20180711::DescribeUserInAndOutTimeRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::DescribeUserInAndOutTimeResponse` def DescribeUserInAndOutTime(request) body = send_request('DescribeUserInAndOutTime', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = DescribeUserInAndOutTimeResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 查询语音消息转文本热句模型列表 # @param request: Request instance for GetCustomizationList. # @type request: :class:`Tencentcloud::gme::V20180711::GetCustomizationListRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::GetCustomizationListResponse` def GetCustomizationList(request) body = send_request('GetCustomizationList', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = GetCustomizationListResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 本接口(ModifyAppStatus)用于修改应用总开关状态。 # @param request: Request instance for ModifyAppStatus. # @type request: :class:`Tencentcloud::gme::V20180711::ModifyAppStatusRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::ModifyAppStatusResponse` def ModifyAppStatus(request) body = send_request('ModifyAppStatus', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = ModifyAppStatusResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 用户通过该接口可以更新语音消息转文本热句模型。 # @param request: Request instance for ModifyCustomization. # @type request: :class:`Tencentcloud::gme::V20180711::ModifyCustomizationRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::ModifyCustomizationResponse` def ModifyCustomization(request) body = send_request('ModifyCustomization', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = ModifyCustomizationResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 通过该接口,用户可以修改语音消息转文本热句模型状态,上下线热句模型 # @param request: Request instance for ModifyCustomizationState. # @type request: :class:`Tencentcloud::gme::V20180711::ModifyCustomizationStateRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::ModifyCustomizationStateResponse` def ModifyCustomizationState(request) body = send_request('ModifyCustomizationState', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = ModifyCustomizationStateResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # **接口作用**:此接口用于修改房间用户的麦克风状态,例如房间内用户麦克风为打开状态,可调用此接口将该用户麦克风进行关闭,关闭后即使该用户使用客户端接口 EnableMic 打开麦克风,依然无法与房间内成员通话,属于被禁言状态。该状态持续到此用户退房后失效,或者调用该接口重新打开此用户麦克风状态。 # **接口应用场景**:此接口多用于游戏业务中台或者风控后台,对一些发表不当言论的玩家进行禁言处理。 # **接口使用前提**:目前 ModifyUserMicStatus 接口通过白名单开放,如需使用,需要 [提交工单申请](https://console.cloud.tencent.com/workorder/category?level1_id=438&level2_id=445&source=0&data_title=%E6%B8%B8%E6%88%8F%E5%A4%9A%E5%AA%92%E4%BD%93%E5%BC%95%E6%93%8EGME&step=1)。 # @param request: Request instance for ModifyUserMicStatus. # @type request: :class:`Tencentcloud::gme::V20180711::ModifyUserMicStatusRequest` # @rtype: :class:`Tencentcloud::gme::V20180711::ModifyUserMicStatusResponse` def ModifyUserMicStatus(request) body = send_request('ModifyUserMicStatus', request.serialize) response = JSON.parse(body) if response['Response'].key?('Error') == false model = ModifyUserMicStatusResponse.new model.deserialize(response['Response']) model else code = response['Response']['Error']['Code'] message = response['Response']['Error']['Message'] reqid = response['Response']['RequestId'] raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid) end rescue TencentCloud::Common::TencentCloudSDKException => e raise e rescue StandardError => e raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect) end # 本接口(ScanVoice)用于提交语音检测任务,检测任务列表最多支持100个。使用前请您登录[控制台 - 服务配置](https://console.cloud.tencent.com/gamegme/conf)开启语音内容安全服务。 # #提交语音检测任务时,需要指定 Scenes 场景参数,目前要求您设置 Scenes 参数值为:["default"];而在检测结果中,则包含请求时指定的场景,以及对应类型的检测结果。
#场景 | #描述 | #Label | #
---|---|---|
语音检测 | #语音检测的检测类型 | #
# normal:正常文本 #porn:色情 #abuse:谩骂 #ad :广告 #illegal :违法 #moan :呻吟 #customized:自定义词库 # |
#
名称 | #类型 | #是否必需 | #描述 | #
---|---|---|---|
Signatue | #string | #是 | #签名,具体见签名生成说明 | #
{
# "Code": 0,
# "DataId": "1400000000_test_data_id",
# "ScanFinishTime": 1566720906,
# "HitFlag": true,
# "Live": false,
# "Msg": "",
# "ScanPiece": [{
# "DumpUrl": "",
# "HitFlag": true,
# "MainType": "abuse",
# "RoomId": "123",
# "OpenId": "xxx",
# "Info":"",
# "Offset": 0,
# "Duration": 3400,
# "PieceStartTime":1574684231,
# "ScanDetail": [{
# "EndTime": 1110,
# "KeyWord": "xxx",
# "Label": "abuse",
# "Rate": "90.00",
# "StartTime": 1110
# }, {
# "EndTime": 1380,
# "KeyWord": "xxx",
# "Label": "abuse",
# "Rate": "90.00",
# "StartTime": 930
# }, {
# "EndTime": 1560,
# "KeyWord": "xxx",
# "Label": "abuse",
# "Rate": "90.00",
# "StartTime": 930
# }, {
# "EndTime": 2820,
# "KeyWord": "xxx",
# "Label": "abuse",
# "Rate": "90.00",
# "StartTime": 2490
# }]
# }],
# "ScanStartTime": 1566720905,
# "Scenes": [
# "default"
# ],
# "Status": "Success",
# "TaskId": "xxx",
# "Url": "https://xxx/xxx.m4a"
# }
#
# @param request: Request instance for ScanVoice.
# @type request: :class:`Tencentcloud::gme::V20180711::ScanVoiceRequest`
# @rtype: :class:`Tencentcloud::gme::V20180711::ScanVoiceResponse`
def ScanVoice(request)
body = send_request('ScanVoice', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ScanVoiceResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 更新自定义送检房间号
# @param request: Request instance for UpdateScanRooms.
# @type request: :class:`Tencentcloud::gme::V20180711::UpdateScanRoomsRequest`
# @rtype: :class:`Tencentcloud::gme::V20180711::UpdateScanRoomsResponse`
def UpdateScanRooms(request)
body = send_request('UpdateScanRooms', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UpdateScanRoomsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 更新自定义送检用户号
# @param request: Request instance for UpdateScanUsers.
# @type request: :class:`Tencentcloud::gme::V20180711::UpdateScanUsersRequest`
# @rtype: :class:`Tencentcloud::gme::V20180711::UpdateScanUsersResponse`
def UpdateScanUsers(request)
body = send_request('UpdateScanUsers', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UpdateScanUsersResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
end
end
end
end