From 0d88c2022f06e747679c0425e0f7a966d46e2471 Mon Sep 17 00:00:00 2001
From: Andrew McClenaghan <andrew.mcclenaghan@gmail.com>
Date: Fri, 24 Mar 2017 16:01:59 +1000
Subject: [PATCH] Adding types

---
 SlackAPI/SlackAPI.csproj                      | 19 +++++++++++++++++++
 .../ChannelHistoryChanged.cs                  | 10 ++++++++++
 SlackAPI/WebSocketMessages/DndUpdatedUser.cs  | 15 +++++++++++++++
 .../WebSocketMessages/EmailDomainChanged.cs   |  9 +++++++++
 SlackAPI/WebSocketMessages/EmojiChangedAdd.cs | 10 ++++++++++
 .../WebSocketMessages/EmojiChangedRemove.cs   |  9 +++++++++
 SlackAPI/WebSocketMessages/FileChange.cs      |  8 ++++++++
 .../WebSocketMessages/FileCommentDeleted.cs   |  9 +++++++++
 .../WebSocketMessages/FileCommentEdited.cs    |  9 +++++++++
 SlackAPI/WebSocketMessages/FileCreated.cs     |  8 ++++++++
 SlackAPI/WebSocketMessages/FileDeleted.cs     |  9 +++++++++
 SlackAPI/WebSocketMessages/FilePublic.cs      |  8 ++++++++
 SlackAPI/WebSocketMessages/FileUnshared.cs    |  8 ++++++++
 .../WebSocketMessages/GroupHistoryChanged.cs  | 10 ++++++++++
 SlackAPI/WebSocketMessages/ImClosed.cs        |  9 +++++++++
 .../WebSocketMessages/ImHistoryChanged.cs     | 10 ++++++++++
 SlackAPI/WebSocketMessages/ImOpen.cs          |  9 +++++++++
 .../WebSocketMessages/SubteamSelfAdded.cs     |  8 ++++++++
 .../WebSocketMessages/SubteamSelfRemoved.cs   |  8 ++++++++
 .../WebSocketMessages/TeamDomainChange.cs     |  9 +++++++++
 20 files changed, 194 insertions(+)
 create mode 100644 SlackAPI/WebSocketMessages/ChannelHistoryChanged.cs
 create mode 100644 SlackAPI/WebSocketMessages/DndUpdatedUser.cs
 create mode 100644 SlackAPI/WebSocketMessages/EmailDomainChanged.cs
 create mode 100644 SlackAPI/WebSocketMessages/EmojiChangedAdd.cs
 create mode 100644 SlackAPI/WebSocketMessages/EmojiChangedRemove.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileChange.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileCommentDeleted.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileCommentEdited.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileCreated.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileDeleted.cs
 create mode 100644 SlackAPI/WebSocketMessages/FilePublic.cs
 create mode 100644 SlackAPI/WebSocketMessages/FileUnshared.cs
 create mode 100644 SlackAPI/WebSocketMessages/GroupHistoryChanged.cs
 create mode 100644 SlackAPI/WebSocketMessages/ImClosed.cs
 create mode 100644 SlackAPI/WebSocketMessages/ImHistoryChanged.cs
 create mode 100644 SlackAPI/WebSocketMessages/ImOpen.cs
 create mode 100644 SlackAPI/WebSocketMessages/SubteamSelfAdded.cs
 create mode 100644 SlackAPI/WebSocketMessages/SubteamSelfRemoved.cs
 create mode 100644 SlackAPI/WebSocketMessages/TeamDomainChange.cs

diff --git a/SlackAPI/SlackAPI.csproj b/SlackAPI/SlackAPI.csproj
index 08fd672..b927b8c 100644
--- a/SlackAPI/SlackAPI.csproj
+++ b/SlackAPI/SlackAPI.csproj
@@ -125,25 +125,44 @@
     <Compile Include="WebSocketMessages\ChannelArchive.cs" />
     <Compile Include="WebSocketMessages\ChannelCreated.cs" />
     <Compile Include="WebSocketMessages\ChannelDeleted.cs" />
+    <Compile Include="WebSocketMessages\ChannelHistoryChanged.cs" />
     <Compile Include="WebSocketMessages\ChannelMarked.cs" />
     <Compile Include="WebSocketMessages\ChannelRename.cs" />
     <Compile Include="WebSocketMessages\ChannelUnarchive.cs" />
     <Compile Include="WebSocketMessages\DeletedMessage.cs" />
+    <Compile Include="WebSocketMessages\DndUpdatedUser.cs" />
+    <Compile Include="WebSocketMessages\EmailDomainChanged.cs" />
+    <Compile Include="WebSocketMessages\EmojiChangedAdd.cs" />
+    <Compile Include="WebSocketMessages\EmojiChangedRemove.cs" />
+    <Compile Include="WebSocketMessages\FileChange.cs" />
+    <Compile Include="WebSocketMessages\FileCommentDeleted.cs" />
+    <Compile Include="WebSocketMessages\FileCommentEdited.cs" />
+    <Compile Include="WebSocketMessages\FileCreated.cs" />
+    <Compile Include="WebSocketMessages\FileDeleted.cs" />
+    <Compile Include="WebSocketMessages\FilePublic.cs" />
     <Compile Include="WebSocketMessages\FileShareMessage.cs" />
+    <Compile Include="WebSocketMessages\FileUnshared.cs" />
     <Compile Include="WebSocketMessages\GroupArchive.cs" />
     <Compile Include="WebSocketMessages\GroupClose.cs" />
+    <Compile Include="WebSocketMessages\GroupHistoryChanged.cs" />
     <Compile Include="WebSocketMessages\GroupJoined.cs" />
     <Compile Include="WebSocketMessages\GroupLeft.cs" />
     <Compile Include="WebSocketMessages\GroupOpen.cs" />
     <Compile Include="WebSocketMessages\GroupRename.cs" />
     <Compile Include="WebSocketMessages\GroupUnarchive.cs" />
     <Compile Include="WebSocketMessages\Hello.cs" />
+    <Compile Include="WebSocketMessages\ImClosed.cs" />
+    <Compile Include="WebSocketMessages\ImHistoryChanged.cs" />
+    <Compile Include="WebSocketMessages\ImOpen.cs" />
     <Compile Include="WebSocketMessages\MessageReceived.cs" />
     <Compile Include="WebSocketMessages\NewMessage.cs" />
     <Compile Include="WebSocketMessages\Ping.cs" />
     <Compile Include="WebSocketMessages\Pong.cs" />
     <Compile Include="WebSocketMessages\PresenceChange.cs" />
     <Compile Include="WebSocketMessages\ReactionAdded.cs" />
+    <Compile Include="WebSocketMessages\SubteamSelfAdded.cs" />
+    <Compile Include="WebSocketMessages\SubteamSelfRemoved.cs" />
+    <Compile Include="WebSocketMessages\TeamDomainChange.cs" />
     <Compile Include="WebSocketMessages\TeamJoin.cs" />
     <Compile Include="WebSocketMessages\Typing.cs" />
     <Compile Include="WebSocketMessages\UserChange.cs" />
diff --git a/SlackAPI/WebSocketMessages/ChannelHistoryChanged.cs b/SlackAPI/WebSocketMessages/ChannelHistoryChanged.cs
new file mode 100644
index 0000000..fb30be6
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/ChannelHistoryChanged.cs
@@ -0,0 +1,10 @@
+﻿namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("channel_history_changed")]
+    public class ChannelHistoryChanged
+    {
+        public string latest;
+        public string ts;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/DndUpdatedUser.cs b/SlackAPI/WebSocketMessages/DndUpdatedUser.cs
new file mode 100644
index 0000000..e944136
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/DndUpdatedUser.cs
@@ -0,0 +1,15 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("dnd_updated_user")]
+    public class DndUpdatedUser
+    {
+        public string user;
+        /*
+        dnd_status": {
+            "dnd_enabled": true,
+            "next_dnd_start_ts": 1450387800,
+            "next_dnd_end_ts": 1450423800
+        }
+        */
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/EmailDomainChanged.cs b/SlackAPI/WebSocketMessages/EmailDomainChanged.cs
new file mode 100644
index 0000000..7f19be2
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/EmailDomainChanged.cs
@@ -0,0 +1,9 @@
+﻿namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("email_domain_changed")]
+    public class EmailDomainChanged
+    {
+        public string email_domain;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/EmojiChangedAdd.cs b/SlackAPI/WebSocketMessages/EmojiChangedAdd.cs
new file mode 100644
index 0000000..36c2a1c
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/EmojiChangedAdd.cs
@@ -0,0 +1,10 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("emoji_changed", "add")]
+    public class EmojiChangedAdd
+    {
+        public string name;
+        public string value;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/EmojiChangedRemove.cs b/SlackAPI/WebSocketMessages/EmojiChangedRemove.cs
new file mode 100644
index 0000000..b8dd73b
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/EmojiChangedRemove.cs
@@ -0,0 +1,9 @@
+﻿namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("emoji_changed", "remove")]
+    public class EmojiChangedRemove
+    {
+        public string[] names;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileChange.cs b/SlackAPI/WebSocketMessages/FileChange.cs
new file mode 100644
index 0000000..63a343e
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileChange.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_change")]
+    public class FileChange
+    {
+        public File file;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileCommentDeleted.cs b/SlackAPI/WebSocketMessages/FileCommentDeleted.cs
new file mode 100644
index 0000000..087c1c3
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileCommentDeleted.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_comment_deleted")]
+    public class FileCommentDeleted
+    {
+        public File file;
+        public string comment;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileCommentEdited.cs b/SlackAPI/WebSocketMessages/FileCommentEdited.cs
new file mode 100644
index 0000000..6389fb7
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileCommentEdited.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_comment_edited")]
+    public class FileCommentEdited
+    {
+        public File file;
+        public string comment;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileCreated.cs b/SlackAPI/WebSocketMessages/FileCreated.cs
new file mode 100644
index 0000000..35aff5f
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileCreated.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_created")]
+    public class FileCreated
+    {
+        public File file;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileDeleted.cs b/SlackAPI/WebSocketMessages/FileDeleted.cs
new file mode 100644
index 0000000..303c1db
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileDeleted.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_deleted")]
+    public class FileDeleted
+    {
+        public string file_id;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FilePublic.cs b/SlackAPI/WebSocketMessages/FilePublic.cs
new file mode 100644
index 0000000..8d0dfeb
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FilePublic.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_public")]
+    public class FilePublic
+    {
+        public File file;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/FileUnshared.cs b/SlackAPI/WebSocketMessages/FileUnshared.cs
new file mode 100644
index 0000000..e46a5d5
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/FileUnshared.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("file_unshared")]
+    public class FileUnshared
+    {
+        public File file;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/GroupHistoryChanged.cs b/SlackAPI/WebSocketMessages/GroupHistoryChanged.cs
new file mode 100644
index 0000000..b5f40dd
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/GroupHistoryChanged.cs
@@ -0,0 +1,10 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("group_history_changed")]
+    public class GroupHistoryChanged
+    {
+        public string latest;
+        public string ts;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/ImClosed.cs b/SlackAPI/WebSocketMessages/ImClosed.cs
new file mode 100644
index 0000000..06a4bdb
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/ImClosed.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("im_close")]
+    public class ImClosed
+    {
+        public string user;
+        public string channel;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/ImHistoryChanged.cs b/SlackAPI/WebSocketMessages/ImHistoryChanged.cs
new file mode 100644
index 0000000..592875c
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/ImHistoryChanged.cs
@@ -0,0 +1,10 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("im_history_changed")]
+    public class ImHistoryChanged
+    {
+        public string latest;
+        public string ts;
+        public string event_ts;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/ImOpen.cs b/SlackAPI/WebSocketMessages/ImOpen.cs
new file mode 100644
index 0000000..83966b0
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/ImOpen.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("im_open")]
+    public class ImOpen
+    {
+        public string user;
+        public string channel;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/SubteamSelfAdded.cs b/SlackAPI/WebSocketMessages/SubteamSelfAdded.cs
new file mode 100644
index 0000000..5c0948c
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/SubteamSelfAdded.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("subteam_self_added")]
+    public class SubteamSelfAdded
+    {
+        public string subteam_id;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/SubteamSelfRemoved.cs b/SlackAPI/WebSocketMessages/SubteamSelfRemoved.cs
new file mode 100644
index 0000000..442642a
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/SubteamSelfRemoved.cs
@@ -0,0 +1,8 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("subteam_self_removed")]
+    public class SubteamSelfRemoved
+    {
+        public string subteam_id;
+    }
+}
\ No newline at end of file
diff --git a/SlackAPI/WebSocketMessages/TeamDomainChange.cs b/SlackAPI/WebSocketMessages/TeamDomainChange.cs
new file mode 100644
index 0000000..a48b41c
--- /dev/null
+++ b/SlackAPI/WebSocketMessages/TeamDomainChange.cs
@@ -0,0 +1,9 @@
+namespace SlackAPI.WebSocketMessages
+{
+    [SlackSocketRouting("team_domain_change")]
+    public class TeamDomainChange
+    {
+        public string url;
+        public string domain;
+    }
+}
\ No newline at end of file
