コード例 #1
0
ファイル: Client.cs プロジェクト: khcheung/mixer-chatbot
        public async Task <Int32> OptOutEvents(String[] events, Func <Task> callBack)
        {
            var      messageId = mMessageId++;
            WsMethod method    = new WsMethod()
            {
                MessageId   = messageId,
                MessageType = WsMessageType.method,
                Method      = "optOutEvents",
                Arguments   = events
            };
            var jsonString = JsonConvert.SerializeObject(method);
            var jsonByte   = System.Text.Encoding.UTF8.GetBytes(jsonString);

            mReplyHandler.Add(messageId, async message =>
            {
                var result = JsonConvert.DeserializeObject <WsReply <Object> >(message);
                await callBack();
            });
            await mClient.SendAsync(new ArraySegment <byte>(jsonByte), WebSocketMessageType.Text, true, mCancellationToken);


            return(messageId);
        }
コード例 #2
0
ファイル: Client.cs プロジェクト: khcheung/mixer-chatbot
        public async Task <Int32> CancelSkill(String skillId, Func <String, Task> callBack)
        {
            var      messageId = mMessageId++;
            WsMethod method    = new WsMethod()
            {
                MessageId   = messageId,
                MessageType = WsMessageType.method,
                Method      = "cancelSkill",
                Arguments   = new object[] { skillId }
            };
            var jsonString = JsonConvert.SerializeObject(method);
            var jsonByte   = System.Text.Encoding.UTF8.GetBytes(jsonString);

            mReplyHandler.Add(messageId, async message =>
            {
                var result = JsonConvert.DeserializeObject <WsReply <String> >(message);
                await callBack(result.Data);
            });
            await mClient.SendAsync(new ArraySegment <byte>(jsonByte), WebSocketMessageType.Text, true, mCancellationToken);


            return(messageId);
        }