public override int GetHashCode()
        {
            int hashCode = 1695118391;

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Id);

            hashCode = hashCode * -1521134295 + EqualityComparer <InlineKeyboardMarkup> .Default.GetHashCode(ReplyMarkup);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(ParseMode);

            hashCode = hashCode * -1521134295 + EqualityComparer <IEnumerable <MessageEntity> > .Default.GetHashCode(CaptionEntities);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Type);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(VideoUrl);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(MimeType);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(ThumbUrl);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Caption);

            hashCode = hashCode * -1521134295 + VideoWidth.GetHashCode();
            hashCode = hashCode * -1521134295 + VideoHeight.GetHashCode();
            hashCode = hashCode * -1521134295 + VideoDuration.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Description);

            hashCode = hashCode * -1521134295 + EqualityComparer <InputMessageContent> .Default.GetHashCode(InputMessageContent);

            return(hashCode);
        }