aboutsummaryrefslogtreecommitdiff
path: root/lib/models/embed.ml
diff options
context:
space:
mode:
authorAdelyn Breelove <[email protected]>2019-01-21 08:52:33 -0700
committerAdelyn Breelove <[email protected]>2019-01-21 08:52:33 -0700
commitc3d6e15bb89d4a93a2fa486db6c8e126baf4da2e (patch)
tree3fe6679ff4520899bab9ab9fb96145efd614a3a3 /lib/models/embed.ml
parentswap order of fields in example bot to reflect correct ordering (diff)
downloaddisml-c3d6e15bb89d4a93a2fa486db6c8e126baf4da2e.tar.xz
disml-c3d6e15bb89d4a93a2fa486db6c8e126baf4da2e.zip
folder restructure
Diffstat (limited to 'lib/models/embed.ml')
-rw-r--r--lib/models/embed.ml121
1 files changed, 0 insertions, 121 deletions
diff --git a/lib/models/embed.ml b/lib/models/embed.ml
deleted file mode 100644
index 9f9aacd..0000000
--- a/lib/models/embed.ml
+++ /dev/null
@@ -1,121 +0,0 @@
-open Core
-
-type footer = {
- text: string;
- icon_url: string option [@default None];
- proxy_icon_url: string option [@default None];
-} [@@deriving sexp, yojson]
-
-type image = {
- url: string option [@default None];
- proxy_url: string option [@default None];
- height: int option [@default None];
- width: int option [@default None];
-} [@@deriving sexp, yojson]
-
-type video = {
- url: string option [@default None];
- height: int option [@default None];
- width: int option [@default None];
-} [@@deriving sexp, yojson]
-
-type provider = {
- name: string option [@default None];
- url: string option [@default None];
-} [@@deriving sexp, yojson]
-
-type author = {
- name: string option [@default None];
- url: string option [@default None];
- icon_url: string option [@default None];
- proxy_icon_url: string option [@default None];
-} [@@deriving sexp, yojson]
-
-type field = {
- name: string;
- value: string;
- inline: bool [@default false];
-} [@@deriving sexp, yojson]
-
-type t = {
- title: string option [@default None];
- kind: string option [@default None][@key "type"];
- description: string option [@default None];
- url: string option [@default None];
- timestamp: string option [@default None];
- colour: int option [@default None][@key "color"];
- footer: footer option [@default None];
- image: image option [@default None];
- thumbnail: image option [@default None];
- video: video option [@default None];
- provider: provider option [@default None];
- author: author option [@default None];
- fields: field list [@default []];
-} [@@deriving sexp, yojson { strict = false }]
-
-let default = {
- title = None;
- kind = None;
- description = None;
- url = None;
- timestamp = None;
- colour = None;
- footer = None;
- image = None;
- thumbnail = None;
- video = None;
- provider = None;
- author = None;
- fields = [];
-}
-
-let default_footer = {
- text = "";
- icon_url = None;
- proxy_icon_url = None;
-}
-
-let default_image = {
- url = None;
- proxy_url = None;
- height = None;
- width = None;
-}
-
-let default_video = {
- url = None;
- width = None;
- height = None;
-}
-
-let default_provider = {
- name = None;
- url = None;
-}
-
-let default_author = {
- name = None;
- url = None;
- icon_url = None;
- proxy_icon_url = None;
-}
-
-let title v e = { e with title = Some v }
-let description v e = { e with description = Some v }
-let url v e = { e with url = Some v }
-let timestamp v e = { e with timestamp = Some v }
-let colour v e = { e with colour = Some v }
-let color v e = { e with colour = Some v }
-let footer f e = { e with footer = Some (f default_footer) }
-let image v e = { e with image = Some { default_image with url = Some v } }
-let thumbnail v e = { e with thumbnail = Some { default_image with url = Some v } }
-let author f e = { e with author = Some (f default_author) }
-let field (name, value, inline) e = { e with fields = { name; value; inline; }::e.fields }
-let fields l e = { e with fields = List.map ~f:(fun (name, value, inline) -> { name; value; inline; }) l }
-
-let footer_text v f : footer = { f with text = v }
-let footer_icon v f : footer = { f with icon_url = Some v }
-
-let author_name v a : author = { a with name = Some v }
-let author_url v a : author = { a with url = Some v }
-let author_icon v a : author = { a with icon_url = Some v } \ No newline at end of file