コード例 #1
0
        public async ValueTask <(ApiStatusType, int)> SendPrivateMsg(long userId, long groupId, IEnumerable <CQCode> message, bool autoEscape = false,
                                                                     CancellationToken cancellationToken = default)
        {
            var replay = await _api.SendMsg(new SendMessageParams
            {
                UserId      = userId,
                GroupId     = groupId,
                Message     = message,
                AutoEscape  = autoEscape,
                MessageType = MessageType.Private
            }, cancellationToken);

            // TODO ApiStatusType解析
            return(replay == null
               ? (ApiStatusType.Error, 0)
               : (ApiStatusType.Ok, replay["data"]?["message_id"]?.ToObject <int>() ?? -1));
        }
コード例 #2
0
        public async ValueTask <(ApiStatusType, int)> SendMsg(long?userId, long?groupId, IEnumerable <CQCode> message,
                                                              bool?autoEscape = default,
                                                              CancellationToken cancellationToken = default)
        {
            _logger.LogInformation("[SendMsg] User:{UserId} Group:{GroupId}", userId, groupId);
            var reply = await _api.SendMsg(new SendMessageParams
            {
                UserId     = userId,
                GroupId    = groupId,
                Message    = message,
                AutoEscape = autoEscape,
            }, cancellationToken);

            var id = -1;

            if (reply?["data"] is JObject data && data.ContainsKey("message_id"))
            {
                id = data["message_id"]?.ToObject <int>() ?? -1;
            }

            // TODO ApiStatusType解析
            return(reply == null ? (ApiStatusType.Error, 0) : (ApiStatusType.Ok, id));
        }