diff --git a/WAProto/WAProto.proto b/WAProto/WAProto.proto index e7a09f1..d463d63 100644 --- a/WAProto/WAProto.proto +++ b/WAProto/WAProto.proto @@ -117,6 +117,45 @@ message CertChain { } +message ChatRowOpaqueData { + optional DraftMessage draftMessage = 1; + message DraftMessage { + optional string text = 1; + optional string omittedUrl = 2; + optional CtwaContextLinkData ctwaContextLinkData = 3; + optional CtwaContextData ctwaContext = 4; + optional int64 timestamp = 5; + message CtwaContextData { + optional string conversionSource = 1; + optional bytes conversionData = 2; + optional string sourceUrl = 3; + optional string sourceId = 4; + optional string sourceType = 5; + optional string title = 6; + optional string description = 7; + optional string thumbnail = 8; + optional string thumbnailUrl = 9; + optional ContextInfoExternalAdReplyInfoMediaType mediaType = 10; + optional string mediaUrl = 11; + optional bool isSuspiciousLink = 12; + enum ContextInfoExternalAdReplyInfoMediaType { + NONE = 0; + IMAGE = 1; + VIDEO = 2; + } + } + + message CtwaContextLinkData { + optional string context = 1; + optional string sourceUrl = 2; + optional string icebreaker = 3; + optional string phone = 4; + } + + } + +} + message ClientPayload { optional uint64 username = 1; optional bool passive = 3; diff --git a/WAProto/index.d.ts b/WAProto/index.d.ts index 8dfaa99..9a61d22 100644 --- a/WAProto/index.d.ts +++ b/WAProto/index.d.ts @@ -1526,6 +1526,490 @@ export namespace proto { } } + /** Properties of a ChatRowOpaqueData. */ + interface IChatRowOpaqueData { + + /** ChatRowOpaqueData draftMessage */ + draftMessage?: (proto.ChatRowOpaqueData.IDraftMessage|null); + } + + /** Represents a ChatRowOpaqueData. */ + class ChatRowOpaqueData implements IChatRowOpaqueData { + + /** + * Constructs a new ChatRowOpaqueData. + * @param [properties] Properties to set + */ + constructor(properties?: proto.IChatRowOpaqueData); + + /** ChatRowOpaqueData draftMessage. */ + public draftMessage?: (proto.ChatRowOpaqueData.IDraftMessage|null); + + /** + * Creates a new ChatRowOpaqueData instance using the specified properties. + * @param [properties] Properties to set + * @returns ChatRowOpaqueData instance + */ + public static create(properties?: proto.IChatRowOpaqueData): proto.ChatRowOpaqueData; + + /** + * Encodes the specified ChatRowOpaqueData message. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. + * @param message ChatRowOpaqueData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: proto.IChatRowOpaqueData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ChatRowOpaqueData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. + * @param message ChatRowOpaqueData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: proto.IChatRowOpaqueData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ChatRowOpaqueData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ChatRowOpaqueData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): proto.ChatRowOpaqueData; + + /** + * Decodes a ChatRowOpaqueData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ChatRowOpaqueData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): proto.ChatRowOpaqueData; + + /** + * Verifies a ChatRowOpaqueData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ChatRowOpaqueData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ChatRowOpaqueData + */ + public static fromObject(object: { [k: string]: any }): proto.ChatRowOpaqueData; + + /** + * Creates a plain object from a ChatRowOpaqueData message. Also converts values to other types if specified. + * @param message ChatRowOpaqueData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: proto.ChatRowOpaqueData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ChatRowOpaqueData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace ChatRowOpaqueData { + + /** Properties of a DraftMessage. */ + interface IDraftMessage { + + /** DraftMessage text */ + text?: (string|null); + + /** DraftMessage omittedUrl */ + omittedUrl?: (string|null); + + /** DraftMessage ctwaContextLinkData */ + ctwaContextLinkData?: (proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null); + + /** DraftMessage ctwaContext */ + ctwaContext?: (proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null); + + /** DraftMessage timestamp */ + timestamp?: (number|Long|null); + } + + /** Represents a DraftMessage. */ + class DraftMessage implements IDraftMessage { + + /** + * Constructs a new DraftMessage. + * @param [properties] Properties to set + */ + constructor(properties?: proto.ChatRowOpaqueData.IDraftMessage); + + /** DraftMessage text. */ + public text: string; + + /** DraftMessage omittedUrl. */ + public omittedUrl: string; + + /** DraftMessage ctwaContextLinkData. */ + public ctwaContextLinkData?: (proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null); + + /** DraftMessage ctwaContext. */ + public ctwaContext?: (proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null); + + /** DraftMessage timestamp. */ + public timestamp: (number|Long); + + /** + * Creates a new DraftMessage instance using the specified properties. + * @param [properties] Properties to set + * @returns DraftMessage instance + */ + public static create(properties?: proto.ChatRowOpaqueData.IDraftMessage): proto.ChatRowOpaqueData.DraftMessage; + + /** + * Encodes the specified DraftMessage message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. + * @param message DraftMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: proto.ChatRowOpaqueData.IDraftMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DraftMessage message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. + * @param message DraftMessage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: proto.ChatRowOpaqueData.IDraftMessage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DraftMessage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DraftMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): proto.ChatRowOpaqueData.DraftMessage; + + /** + * Decodes a DraftMessage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DraftMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): proto.ChatRowOpaqueData.DraftMessage; + + /** + * Verifies a DraftMessage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DraftMessage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DraftMessage + */ + public static fromObject(object: { [k: string]: any }): proto.ChatRowOpaqueData.DraftMessage; + + /** + * Creates a plain object from a DraftMessage message. Also converts values to other types if specified. + * @param message DraftMessage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: proto.ChatRowOpaqueData.DraftMessage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DraftMessage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace DraftMessage { + + /** Properties of a CtwaContextData. */ + interface ICtwaContextData { + + /** CtwaContextData conversionSource */ + conversionSource?: (string|null); + + /** CtwaContextData conversionData */ + conversionData?: (Uint8Array|null); + + /** CtwaContextData sourceUrl */ + sourceUrl?: (string|null); + + /** CtwaContextData sourceId */ + sourceId?: (string|null); + + /** CtwaContextData sourceType */ + sourceType?: (string|null); + + /** CtwaContextData title */ + title?: (string|null); + + /** CtwaContextData description */ + description?: (string|null); + + /** CtwaContextData thumbnail */ + thumbnail?: (string|null); + + /** CtwaContextData thumbnailUrl */ + thumbnailUrl?: (string|null); + + /** CtwaContextData mediaType */ + mediaType?: (proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType|null); + + /** CtwaContextData mediaUrl */ + mediaUrl?: (string|null); + + /** CtwaContextData isSuspiciousLink */ + isSuspiciousLink?: (boolean|null); + } + + /** Represents a CtwaContextData. */ + class CtwaContextData implements ICtwaContextData { + + /** + * Constructs a new CtwaContextData. + * @param [properties] Properties to set + */ + constructor(properties?: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData); + + /** CtwaContextData conversionSource. */ + public conversionSource: string; + + /** CtwaContextData conversionData. */ + public conversionData: Uint8Array; + + /** CtwaContextData sourceUrl. */ + public sourceUrl: string; + + /** CtwaContextData sourceId. */ + public sourceId: string; + + /** CtwaContextData sourceType. */ + public sourceType: string; + + /** CtwaContextData title. */ + public title: string; + + /** CtwaContextData description. */ + public description: string; + + /** CtwaContextData thumbnail. */ + public thumbnail: string; + + /** CtwaContextData thumbnailUrl. */ + public thumbnailUrl: string; + + /** CtwaContextData mediaType. */ + public mediaType: proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType; + + /** CtwaContextData mediaUrl. */ + public mediaUrl: string; + + /** CtwaContextData isSuspiciousLink. */ + public isSuspiciousLink: boolean; + + /** + * Creates a new CtwaContextData instance using the specified properties. + * @param [properties] Properties to set + * @returns CtwaContextData instance + */ + public static create(properties?: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData): proto.ChatRowOpaqueData.DraftMessage.CtwaContextData; + + /** + * Encodes the specified CtwaContextData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. + * @param message CtwaContextData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CtwaContextData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. + * @param message CtwaContextData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CtwaContextData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CtwaContextData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): proto.ChatRowOpaqueData.DraftMessage.CtwaContextData; + + /** + * Decodes a CtwaContextData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CtwaContextData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): proto.ChatRowOpaqueData.DraftMessage.CtwaContextData; + + /** + * Verifies a CtwaContextData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CtwaContextData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CtwaContextData + */ + public static fromObject(object: { [k: string]: any }): proto.ChatRowOpaqueData.DraftMessage.CtwaContextData; + + /** + * Creates a plain object from a CtwaContextData message. Also converts values to other types if specified. + * @param message CtwaContextData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: proto.ChatRowOpaqueData.DraftMessage.CtwaContextData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CtwaContextData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + + namespace CtwaContextData { + + /** ContextInfoExternalAdReplyInfoMediaType enum. */ + enum ContextInfoExternalAdReplyInfoMediaType { + NONE = 0, + IMAGE = 1, + VIDEO = 2 + } + } + + /** Properties of a CtwaContextLinkData. */ + interface ICtwaContextLinkData { + + /** CtwaContextLinkData context */ + context?: (string|null); + + /** CtwaContextLinkData sourceUrl */ + sourceUrl?: (string|null); + + /** CtwaContextLinkData icebreaker */ + icebreaker?: (string|null); + + /** CtwaContextLinkData phone */ + phone?: (string|null); + } + + /** Represents a CtwaContextLinkData. */ + class CtwaContextLinkData implements ICtwaContextLinkData { + + /** + * Constructs a new CtwaContextLinkData. + * @param [properties] Properties to set + */ + constructor(properties?: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData); + + /** CtwaContextLinkData context. */ + public context: string; + + /** CtwaContextLinkData sourceUrl. */ + public sourceUrl: string; + + /** CtwaContextLinkData icebreaker. */ + public icebreaker: string; + + /** CtwaContextLinkData phone. */ + public phone: string; + + /** + * Creates a new CtwaContextLinkData instance using the specified properties. + * @param [properties] Properties to set + * @returns CtwaContextLinkData instance + */ + public static create(properties?: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData): proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData; + + /** + * Encodes the specified CtwaContextLinkData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. + * @param message CtwaContextLinkData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CtwaContextLinkData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. + * @param message CtwaContextLinkData message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CtwaContextLinkData message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CtwaContextLinkData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData; + + /** + * Decodes a CtwaContextLinkData message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CtwaContextLinkData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData; + + /** + * Verifies a CtwaContextLinkData message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CtwaContextLinkData message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CtwaContextLinkData + */ + public static fromObject(object: { [k: string]: any }): proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData; + + /** + * Creates a plain object from a CtwaContextLinkData message. Also converts values to other types if specified. + * @param message CtwaContextLinkData + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CtwaContextLinkData to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + } + } + } + /** Properties of a ClientPayload. */ interface IClientPayload { diff --git a/WAProto/index.js b/WAProto/index.js index 70db027..134ec0d 100644 --- a/WAProto/index.js +++ b/WAProto/index.js @@ -3895,6 +3895,1225 @@ $root.proto = (function() { return CertChain; })(); + proto.ChatRowOpaqueData = (function() { + + /** + * Properties of a ChatRowOpaqueData. + * @memberof proto + * @interface IChatRowOpaqueData + * @property {proto.ChatRowOpaqueData.IDraftMessage|null} [draftMessage] ChatRowOpaqueData draftMessage + */ + + /** + * Constructs a new ChatRowOpaqueData. + * @memberof proto + * @classdesc Represents a ChatRowOpaqueData. + * @implements IChatRowOpaqueData + * @constructor + * @param {proto.IChatRowOpaqueData=} [properties] Properties to set + */ + function ChatRowOpaqueData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ChatRowOpaqueData draftMessage. + * @member {proto.ChatRowOpaqueData.IDraftMessage|null|undefined} draftMessage + * @memberof proto.ChatRowOpaqueData + * @instance + */ + ChatRowOpaqueData.prototype.draftMessage = null; + + /** + * Creates a new ChatRowOpaqueData instance using the specified properties. + * @function create + * @memberof proto.ChatRowOpaqueData + * @static + * @param {proto.IChatRowOpaqueData=} [properties] Properties to set + * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData instance + */ + ChatRowOpaqueData.create = function create(properties) { + return new ChatRowOpaqueData(properties); + }; + + /** + * Encodes the specified ChatRowOpaqueData message. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. + * @function encode + * @memberof proto.ChatRowOpaqueData + * @static + * @param {proto.IChatRowOpaqueData} message ChatRowOpaqueData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChatRowOpaqueData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.draftMessage != null && Object.hasOwnProperty.call(message, "draftMessage")) + $root.proto.ChatRowOpaqueData.DraftMessage.encode(message.draftMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ChatRowOpaqueData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. + * @function encodeDelimited + * @memberof proto.ChatRowOpaqueData + * @static + * @param {proto.IChatRowOpaqueData} message ChatRowOpaqueData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChatRowOpaqueData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ChatRowOpaqueData message from the specified reader or buffer. + * @function decode + * @memberof proto.ChatRowOpaqueData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChatRowOpaqueData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ChatRowOpaqueData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ChatRowOpaqueData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof proto.ChatRowOpaqueData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChatRowOpaqueData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ChatRowOpaqueData message. + * @function verify + * @memberof proto.ChatRowOpaqueData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ChatRowOpaqueData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.draftMessage != null && message.hasOwnProperty("draftMessage")) { + var error = $root.proto.ChatRowOpaqueData.DraftMessage.verify(message.draftMessage); + if (error) + return "draftMessage." + error; + } + return null; + }; + + /** + * Creates a ChatRowOpaqueData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof proto.ChatRowOpaqueData + * @static + * @param {Object.} object Plain object + * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData + */ + ChatRowOpaqueData.fromObject = function fromObject(object) { + if (object instanceof $root.proto.ChatRowOpaqueData) + return object; + var message = new $root.proto.ChatRowOpaqueData(); + if (object.draftMessage != null) { + if (typeof object.draftMessage !== "object") + throw TypeError(".proto.ChatRowOpaqueData.draftMessage: object expected"); + message.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.fromObject(object.draftMessage); + } + return message; + }; + + /** + * Creates a plain object from a ChatRowOpaqueData message. Also converts values to other types if specified. + * @function toObject + * @memberof proto.ChatRowOpaqueData + * @static + * @param {proto.ChatRowOpaqueData} message ChatRowOpaqueData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ChatRowOpaqueData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.draftMessage = null; + if (message.draftMessage != null && message.hasOwnProperty("draftMessage")) + object.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.toObject(message.draftMessage, options); + return object; + }; + + /** + * Converts this ChatRowOpaqueData to JSON. + * @function toJSON + * @memberof proto.ChatRowOpaqueData + * @instance + * @returns {Object.} JSON object + */ + ChatRowOpaqueData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + ChatRowOpaqueData.DraftMessage = (function() { + + /** + * Properties of a DraftMessage. + * @memberof proto.ChatRowOpaqueData + * @interface IDraftMessage + * @property {string|null} [text] DraftMessage text + * @property {string|null} [omittedUrl] DraftMessage omittedUrl + * @property {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null} [ctwaContextLinkData] DraftMessage ctwaContextLinkData + * @property {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null} [ctwaContext] DraftMessage ctwaContext + * @property {number|Long|null} [timestamp] DraftMessage timestamp + */ + + /** + * Constructs a new DraftMessage. + * @memberof proto.ChatRowOpaqueData + * @classdesc Represents a DraftMessage. + * @implements IDraftMessage + * @constructor + * @param {proto.ChatRowOpaqueData.IDraftMessage=} [properties] Properties to set + */ + function DraftMessage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DraftMessage text. + * @member {string} text + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + */ + DraftMessage.prototype.text = ""; + + /** + * DraftMessage omittedUrl. + * @member {string} omittedUrl + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + */ + DraftMessage.prototype.omittedUrl = ""; + + /** + * DraftMessage ctwaContextLinkData. + * @member {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null|undefined} ctwaContextLinkData + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + */ + DraftMessage.prototype.ctwaContextLinkData = null; + + /** + * DraftMessage ctwaContext. + * @member {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null|undefined} ctwaContext + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + */ + DraftMessage.prototype.ctwaContext = null; + + /** + * DraftMessage timestamp. + * @member {number|Long} timestamp + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + */ + DraftMessage.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Creates a new DraftMessage instance using the specified properties. + * @function create + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {proto.ChatRowOpaqueData.IDraftMessage=} [properties] Properties to set + * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage instance + */ + DraftMessage.create = function create(properties) { + return new DraftMessage(properties); + }; + + /** + * Encodes the specified DraftMessage message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. + * @function encode + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {proto.ChatRowOpaqueData.IDraftMessage} message DraftMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DraftMessage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.text != null && Object.hasOwnProperty.call(message, "text")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); + if (message.omittedUrl != null && Object.hasOwnProperty.call(message, "omittedUrl")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.omittedUrl); + if (message.ctwaContextLinkData != null && Object.hasOwnProperty.call(message, "ctwaContextLinkData")) + $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.encode(message.ctwaContextLinkData, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.ctwaContext != null && Object.hasOwnProperty.call(message, "ctwaContext")) + $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.encode(message.ctwaContext, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.timestamp); + return writer; + }; + + /** + * Encodes the specified DraftMessage message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. + * @function encodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {proto.ChatRowOpaqueData.IDraftMessage} message DraftMessage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DraftMessage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DraftMessage message from the specified reader or buffer. + * @function decode + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DraftMessage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ChatRowOpaqueData.DraftMessage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.text = reader.string(); + break; + case 2: + message.omittedUrl = reader.string(); + break; + case 3: + message.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.decode(reader, reader.uint32()); + break; + case 4: + message.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.decode(reader, reader.uint32()); + break; + case 5: + message.timestamp = reader.int64(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DraftMessage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DraftMessage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DraftMessage message. + * @function verify + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DraftMessage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.text != null && message.hasOwnProperty("text")) + if (!$util.isString(message.text)) + return "text: string expected"; + if (message.omittedUrl != null && message.hasOwnProperty("omittedUrl")) + if (!$util.isString(message.omittedUrl)) + return "omittedUrl: string expected"; + if (message.ctwaContextLinkData != null && message.hasOwnProperty("ctwaContextLinkData")) { + var error = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify(message.ctwaContextLinkData); + if (error) + return "ctwaContextLinkData." + error; + } + if (message.ctwaContext != null && message.hasOwnProperty("ctwaContext")) { + var error = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify(message.ctwaContext); + if (error) + return "ctwaContext." + error; + } + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) + return "timestamp: integer|Long expected"; + return null; + }; + + /** + * Creates a DraftMessage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {Object.} object Plain object + * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage + */ + DraftMessage.fromObject = function fromObject(object) { + if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage) + return object; + var message = new $root.proto.ChatRowOpaqueData.DraftMessage(); + if (object.text != null) + message.text = String(object.text); + if (object.omittedUrl != null) + message.omittedUrl = String(object.omittedUrl); + if (object.ctwaContextLinkData != null) { + if (typeof object.ctwaContextLinkData !== "object") + throw TypeError(".proto.ChatRowOpaqueData.DraftMessage.ctwaContextLinkData: object expected"); + message.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.fromObject(object.ctwaContextLinkData); + } + if (object.ctwaContext != null) { + if (typeof object.ctwaContext !== "object") + throw TypeError(".proto.ChatRowOpaqueData.DraftMessage.ctwaContext: object expected"); + message.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.fromObject(object.ctwaContext); + } + if (object.timestamp != null) + if ($util.Long) + (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = false; + else if (typeof object.timestamp === "string") + message.timestamp = parseInt(object.timestamp, 10); + else if (typeof object.timestamp === "number") + message.timestamp = object.timestamp; + else if (typeof object.timestamp === "object") + message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(); + return message; + }; + + /** + * Creates a plain object from a DraftMessage message. Also converts values to other types if specified. + * @function toObject + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage} message DraftMessage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DraftMessage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.text = ""; + object.omittedUrl = ""; + object.ctwaContextLinkData = null; + object.ctwaContext = null; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.timestamp = options.longs === String ? "0" : 0; + } + if (message.text != null && message.hasOwnProperty("text")) + object.text = message.text; + if (message.omittedUrl != null && message.hasOwnProperty("omittedUrl")) + object.omittedUrl = message.omittedUrl; + if (message.ctwaContextLinkData != null && message.hasOwnProperty("ctwaContextLinkData")) + object.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.toObject(message.ctwaContextLinkData, options); + if (message.ctwaContext != null && message.hasOwnProperty("ctwaContext")) + object.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.toObject(message.ctwaContext, options); + if (message.timestamp != null && message.hasOwnProperty("timestamp")) + if (typeof message.timestamp === "number") + object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; + else + object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber() : message.timestamp; + return object; + }; + + /** + * Converts this DraftMessage to JSON. + * @function toJSON + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @instance + * @returns {Object.} JSON object + */ + DraftMessage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + DraftMessage.CtwaContextData = (function() { + + /** + * Properties of a CtwaContextData. + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @interface ICtwaContextData + * @property {string|null} [conversionSource] CtwaContextData conversionSource + * @property {Uint8Array|null} [conversionData] CtwaContextData conversionData + * @property {string|null} [sourceUrl] CtwaContextData sourceUrl + * @property {string|null} [sourceId] CtwaContextData sourceId + * @property {string|null} [sourceType] CtwaContextData sourceType + * @property {string|null} [title] CtwaContextData title + * @property {string|null} [description] CtwaContextData description + * @property {string|null} [thumbnail] CtwaContextData thumbnail + * @property {string|null} [thumbnailUrl] CtwaContextData thumbnailUrl + * @property {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType|null} [mediaType] CtwaContextData mediaType + * @property {string|null} [mediaUrl] CtwaContextData mediaUrl + * @property {boolean|null} [isSuspiciousLink] CtwaContextData isSuspiciousLink + */ + + /** + * Constructs a new CtwaContextData. + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @classdesc Represents a CtwaContextData. + * @implements ICtwaContextData + * @constructor + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData=} [properties] Properties to set + */ + function CtwaContextData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CtwaContextData conversionSource. + * @member {string} conversionSource + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.conversionSource = ""; + + /** + * CtwaContextData conversionData. + * @member {Uint8Array} conversionData + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.conversionData = $util.newBuffer([]); + + /** + * CtwaContextData sourceUrl. + * @member {string} sourceUrl + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.sourceUrl = ""; + + /** + * CtwaContextData sourceId. + * @member {string} sourceId + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.sourceId = ""; + + /** + * CtwaContextData sourceType. + * @member {string} sourceType + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.sourceType = ""; + + /** + * CtwaContextData title. + * @member {string} title + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.title = ""; + + /** + * CtwaContextData description. + * @member {string} description + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.description = ""; + + /** + * CtwaContextData thumbnail. + * @member {string} thumbnail + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.thumbnail = ""; + + /** + * CtwaContextData thumbnailUrl. + * @member {string} thumbnailUrl + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.thumbnailUrl = ""; + + /** + * CtwaContextData mediaType. + * @member {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType} mediaType + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.mediaType = 0; + + /** + * CtwaContextData mediaUrl. + * @member {string} mediaUrl + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.mediaUrl = ""; + + /** + * CtwaContextData isSuspiciousLink. + * @member {boolean} isSuspiciousLink + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + */ + CtwaContextData.prototype.isSuspiciousLink = false; + + /** + * Creates a new CtwaContextData instance using the specified properties. + * @function create + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData=} [properties] Properties to set + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData instance + */ + CtwaContextData.create = function create(properties) { + return new CtwaContextData(properties); + }; + + /** + * Encodes the specified CtwaContextData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. + * @function encode + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData} message CtwaContextData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CtwaContextData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.conversionSource != null && Object.hasOwnProperty.call(message, "conversionSource")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.conversionSource); + if (message.conversionData != null && Object.hasOwnProperty.call(message, "conversionData")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.conversionData); + if (message.sourceUrl != null && Object.hasOwnProperty.call(message, "sourceUrl")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceUrl); + if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.sourceId); + if (message.sourceType != null && Object.hasOwnProperty.call(message, "sourceType")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.sourceType); + if (message.title != null && Object.hasOwnProperty.call(message, "title")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.title); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.description); + if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.thumbnail); + if (message.thumbnailUrl != null && Object.hasOwnProperty.call(message, "thumbnailUrl")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.thumbnailUrl); + if (message.mediaType != null && Object.hasOwnProperty.call(message, "mediaType")) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.mediaType); + if (message.mediaUrl != null && Object.hasOwnProperty.call(message, "mediaUrl")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.mediaUrl); + if (message.isSuspiciousLink != null && Object.hasOwnProperty.call(message, "isSuspiciousLink")) + writer.uint32(/* id 12, wireType 0 =*/96).bool(message.isSuspiciousLink); + return writer; + }; + + /** + * Encodes the specified CtwaContextData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. + * @function encodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData} message CtwaContextData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CtwaContextData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CtwaContextData message from the specified reader or buffer. + * @function decode + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CtwaContextData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.conversionSource = reader.string(); + break; + case 2: + message.conversionData = reader.bytes(); + break; + case 3: + message.sourceUrl = reader.string(); + break; + case 4: + message.sourceId = reader.string(); + break; + case 5: + message.sourceType = reader.string(); + break; + case 6: + message.title = reader.string(); + break; + case 7: + message.description = reader.string(); + break; + case 8: + message.thumbnail = reader.string(); + break; + case 9: + message.thumbnailUrl = reader.string(); + break; + case 10: + message.mediaType = reader.int32(); + break; + case 11: + message.mediaUrl = reader.string(); + break; + case 12: + message.isSuspiciousLink = reader.bool(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CtwaContextData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CtwaContextData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CtwaContextData message. + * @function verify + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CtwaContextData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.conversionSource != null && message.hasOwnProperty("conversionSource")) + if (!$util.isString(message.conversionSource)) + return "conversionSource: string expected"; + if (message.conversionData != null && message.hasOwnProperty("conversionData")) + if (!(message.conversionData && typeof message.conversionData.length === "number" || $util.isString(message.conversionData))) + return "conversionData: buffer expected"; + if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) + if (!$util.isString(message.sourceUrl)) + return "sourceUrl: string expected"; + if (message.sourceId != null && message.hasOwnProperty("sourceId")) + if (!$util.isString(message.sourceId)) + return "sourceId: string expected"; + if (message.sourceType != null && message.hasOwnProperty("sourceType")) + if (!$util.isString(message.sourceType)) + return "sourceType: string expected"; + if (message.title != null && message.hasOwnProperty("title")) + if (!$util.isString(message.title)) + return "title: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + if (!$util.isString(message.thumbnail)) + return "thumbnail: string expected"; + if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) + if (!$util.isString(message.thumbnailUrl)) + return "thumbnailUrl: string expected"; + if (message.mediaType != null && message.hasOwnProperty("mediaType")) + switch (message.mediaType) { + default: + return "mediaType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.mediaUrl != null && message.hasOwnProperty("mediaUrl")) + if (!$util.isString(message.mediaUrl)) + return "mediaUrl: string expected"; + if (message.isSuspiciousLink != null && message.hasOwnProperty("isSuspiciousLink")) + if (typeof message.isSuspiciousLink !== "boolean") + return "isSuspiciousLink: boolean expected"; + return null; + }; + + /** + * Creates a CtwaContextData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {Object.} object Plain object + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData + */ + CtwaContextData.fromObject = function fromObject(object) { + if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData) + return object; + var message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData(); + if (object.conversionSource != null) + message.conversionSource = String(object.conversionSource); + if (object.conversionData != null) + if (typeof object.conversionData === "string") + $util.base64.decode(object.conversionData, message.conversionData = $util.newBuffer($util.base64.length(object.conversionData)), 0); + else if (object.conversionData.length) + message.conversionData = object.conversionData; + if (object.sourceUrl != null) + message.sourceUrl = String(object.sourceUrl); + if (object.sourceId != null) + message.sourceId = String(object.sourceId); + if (object.sourceType != null) + message.sourceType = String(object.sourceType); + if (object.title != null) + message.title = String(object.title); + if (object.description != null) + message.description = String(object.description); + if (object.thumbnail != null) + message.thumbnail = String(object.thumbnail); + if (object.thumbnailUrl != null) + message.thumbnailUrl = String(object.thumbnailUrl); + switch (object.mediaType) { + case "NONE": + case 0: + message.mediaType = 0; + break; + case "IMAGE": + case 1: + message.mediaType = 1; + break; + case "VIDEO": + case 2: + message.mediaType = 2; + break; + } + if (object.mediaUrl != null) + message.mediaUrl = String(object.mediaUrl); + if (object.isSuspiciousLink != null) + message.isSuspiciousLink = Boolean(object.isSuspiciousLink); + return message; + }; + + /** + * Creates a plain object from a CtwaContextData message. Also converts values to other types if specified. + * @function toObject + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} message CtwaContextData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CtwaContextData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.conversionSource = ""; + if (options.bytes === String) + object.conversionData = ""; + else { + object.conversionData = []; + if (options.bytes !== Array) + object.conversionData = $util.newBuffer(object.conversionData); + } + object.sourceUrl = ""; + object.sourceId = ""; + object.sourceType = ""; + object.title = ""; + object.description = ""; + object.thumbnail = ""; + object.thumbnailUrl = ""; + object.mediaType = options.enums === String ? "NONE" : 0; + object.mediaUrl = ""; + object.isSuspiciousLink = false; + } + if (message.conversionSource != null && message.hasOwnProperty("conversionSource")) + object.conversionSource = message.conversionSource; + if (message.conversionData != null && message.hasOwnProperty("conversionData")) + object.conversionData = options.bytes === String ? $util.base64.encode(message.conversionData, 0, message.conversionData.length) : options.bytes === Array ? Array.prototype.slice.call(message.conversionData) : message.conversionData; + if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) + object.sourceUrl = message.sourceUrl; + if (message.sourceId != null && message.hasOwnProperty("sourceId")) + object.sourceId = message.sourceId; + if (message.sourceType != null && message.hasOwnProperty("sourceType")) + object.sourceType = message.sourceType; + if (message.title != null && message.hasOwnProperty("title")) + object.title = message.title; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) + object.thumbnail = message.thumbnail; + if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) + object.thumbnailUrl = message.thumbnailUrl; + if (message.mediaType != null && message.hasOwnProperty("mediaType")) + object.mediaType = options.enums === String ? $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType[message.mediaType] : message.mediaType; + if (message.mediaUrl != null && message.hasOwnProperty("mediaUrl")) + object.mediaUrl = message.mediaUrl; + if (message.isSuspiciousLink != null && message.hasOwnProperty("isSuspiciousLink")) + object.isSuspiciousLink = message.isSuspiciousLink; + return object; + }; + + /** + * Converts this CtwaContextData to JSON. + * @function toJSON + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData + * @instance + * @returns {Object.} JSON object + */ + CtwaContextData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * ContextInfoExternalAdReplyInfoMediaType enum. + * @name proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType + * @enum {number} + * @property {number} NONE=0 NONE value + * @property {number} IMAGE=1 IMAGE value + * @property {number} VIDEO=2 VIDEO value + */ + CtwaContextData.ContextInfoExternalAdReplyInfoMediaType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NONE"] = 0; + values[valuesById[1] = "IMAGE"] = 1; + values[valuesById[2] = "VIDEO"] = 2; + return values; + })(); + + return CtwaContextData; + })(); + + DraftMessage.CtwaContextLinkData = (function() { + + /** + * Properties of a CtwaContextLinkData. + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @interface ICtwaContextLinkData + * @property {string|null} [context] CtwaContextLinkData context + * @property {string|null} [sourceUrl] CtwaContextLinkData sourceUrl + * @property {string|null} [icebreaker] CtwaContextLinkData icebreaker + * @property {string|null} [phone] CtwaContextLinkData phone + */ + + /** + * Constructs a new CtwaContextLinkData. + * @memberof proto.ChatRowOpaqueData.DraftMessage + * @classdesc Represents a CtwaContextLinkData. + * @implements ICtwaContextLinkData + * @constructor + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData=} [properties] Properties to set + */ + function CtwaContextLinkData(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CtwaContextLinkData context. + * @member {string} context + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @instance + */ + CtwaContextLinkData.prototype.context = ""; + + /** + * CtwaContextLinkData sourceUrl. + * @member {string} sourceUrl + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @instance + */ + CtwaContextLinkData.prototype.sourceUrl = ""; + + /** + * CtwaContextLinkData icebreaker. + * @member {string} icebreaker + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @instance + */ + CtwaContextLinkData.prototype.icebreaker = ""; + + /** + * CtwaContextLinkData phone. + * @member {string} phone + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @instance + */ + CtwaContextLinkData.prototype.phone = ""; + + /** + * Creates a new CtwaContextLinkData instance using the specified properties. + * @function create + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData=} [properties] Properties to set + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData instance + */ + CtwaContextLinkData.create = function create(properties) { + return new CtwaContextLinkData(properties); + }; + + /** + * Encodes the specified CtwaContextLinkData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. + * @function encode + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData} message CtwaContextLinkData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CtwaContextLinkData.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.context != null && Object.hasOwnProperty.call(message, "context")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.context); + if (message.sourceUrl != null && Object.hasOwnProperty.call(message, "sourceUrl")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceUrl); + if (message.icebreaker != null && Object.hasOwnProperty.call(message, "icebreaker")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.icebreaker); + if (message.phone != null && Object.hasOwnProperty.call(message, "phone")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.phone); + return writer; + }; + + /** + * Encodes the specified CtwaContextLinkData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. + * @function encodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData} message CtwaContextLinkData message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CtwaContextLinkData.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CtwaContextLinkData message from the specified reader or buffer. + * @function decode + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CtwaContextLinkData.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.context = reader.string(); + break; + case 2: + message.sourceUrl = reader.string(); + break; + case 3: + message.icebreaker = reader.string(); + break; + case 4: + message.phone = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CtwaContextLinkData message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CtwaContextLinkData.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CtwaContextLinkData message. + * @function verify + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CtwaContextLinkData.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.context != null && message.hasOwnProperty("context")) + if (!$util.isString(message.context)) + return "context: string expected"; + if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) + if (!$util.isString(message.sourceUrl)) + return "sourceUrl: string expected"; + if (message.icebreaker != null && message.hasOwnProperty("icebreaker")) + if (!$util.isString(message.icebreaker)) + return "icebreaker: string expected"; + if (message.phone != null && message.hasOwnProperty("phone")) + if (!$util.isString(message.phone)) + return "phone: string expected"; + return null; + }; + + /** + * Creates a CtwaContextLinkData message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {Object.} object Plain object + * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData + */ + CtwaContextLinkData.fromObject = function fromObject(object) { + if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData) + return object; + var message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData(); + if (object.context != null) + message.context = String(object.context); + if (object.sourceUrl != null) + message.sourceUrl = String(object.sourceUrl); + if (object.icebreaker != null) + message.icebreaker = String(object.icebreaker); + if (object.phone != null) + message.phone = String(object.phone); + return message; + }; + + /** + * Creates a plain object from a CtwaContextLinkData message. Also converts values to other types if specified. + * @function toObject + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @static + * @param {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} message CtwaContextLinkData + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CtwaContextLinkData.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.context = ""; + object.sourceUrl = ""; + object.icebreaker = ""; + object.phone = ""; + } + if (message.context != null && message.hasOwnProperty("context")) + object.context = message.context; + if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) + object.sourceUrl = message.sourceUrl; + if (message.icebreaker != null && message.hasOwnProperty("icebreaker")) + object.icebreaker = message.icebreaker; + if (message.phone != null && message.hasOwnProperty("phone")) + object.phone = message.phone; + return object; + }; + + /** + * Converts this CtwaContextLinkData to JSON. + * @function toJSON + * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData + * @instance + * @returns {Object.} JSON object + */ + CtwaContextLinkData.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + return CtwaContextLinkData; + })(); + + return DraftMessage; + })(); + + return ChatRowOpaqueData; + })(); + proto.ClientPayload = (function() { /** diff --git a/src/Defaults/baileys-version.json b/src/Defaults/baileys-version.json index a12d23e..d4a3621 100644 --- a/src/Defaults/baileys-version.json +++ b/src/Defaults/baileys-version.json @@ -1,3 +1,3 @@ { - "version": [2, 2322, 15] + "version": [2, 2323, 4] }