diff --git a/.gitignore b/.gitignore
index 50a0b5b..db931e8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,12 @@ build/
[Bb]in/
[Oo]bj/
+# Visual Studio 2015 cache/options directory
+.vs/
+
+# DNX
+project.lock.json
+
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
@@ -131,8 +137,7 @@ publish/
*.pubxml
# NuGet Packages Directory
-## TODO: If you have NuGet Package Restore enabled, uncomment the next line
-#packages/
+packages/
# Windows Azure Build Output
csx
diff --git a/IntegrationTest/IntegrationTest.csproj b/IntegrationTest/IntegrationTest.csproj
index e57d894..80d2b2f 100644
--- a/IntegrationTest/IntegrationTest.csproj
+++ b/IntegrationTest/IntegrationTest.csproj
@@ -35,14 +35,18 @@
4
-
- False
- ..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll
+
+ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
+ True
-
- ..\packages\Polly.2.2.3\lib\net45\Polly.dll
+
+ ..\packages\Polly.4.3.0\lib\net45\Polly.dll
True
+
+ False
+ ..\SlackAPI\bin\Debug\net45\SlackAPI.dll
+
@@ -69,12 +73,6 @@
-
-
- {0c0a58a8-174e-4a4c-907b-c3569144d15d}
- SlackAPI
-
-
diff --git a/IntegrationTest/packages.config b/IntegrationTest/packages.config
index 132febb..30621e9 100644
--- a/IntegrationTest/packages.config
+++ b/IntegrationTest/packages.config
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/Nuget.config b/Nuget.config
new file mode 100644
index 0000000..b8ab84b
--- /dev/null
+++ b/Nuget.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
deleted file mode 100644
index 8b2c719..0000000
--- a/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("SlackAPI")]
-[assembly: AssemblyDescription("A Slack wrapper for direct interaction with their APIs.")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Inumedia")]
-[assembly: AssemblyProduct("SlackAPI")]
-[assembly: AssemblyCopyright("Copyright © 2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("80fe3ab4-f0d5-4fee-a6ae-524b523cebcc")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.4.1")]
-[assembly: AssemblyFileVersion("1.0.4.1")]
diff --git a/SlackAPI.csproj b/SlackAPI.csproj
deleted file mode 100644
index 621e3e8..0000000
--- a/SlackAPI.csproj
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {0C0A58A8-174E-4A4C-907B-C3569144D15D}
- Library
- Properties
- SlackAPI
- SlackAPI
- v4.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Designer
-
-
-
-
-
-
\ No newline at end of file
diff --git a/SlackAPI.nuspec b/SlackAPI.nuspec
index 43fde8c..35c35ad 100644
--- a/SlackAPI.nuspec
+++ b/SlackAPI.nuspec
@@ -2,7 +2,7 @@
SlackAPI
- 1.0.4.1
+ 1.0.5.0
SlackAPI
Inumedia
Inumedia
@@ -14,12 +14,12 @@
en-US
-
+
-
-
+
+
-
\ No newline at end of file
+
diff --git a/SlackAPI.sln b/SlackAPI.sln
index 762a996..6a39765 100644
--- a/SlackAPI.sln
+++ b/SlackAPI.sln
@@ -1,13 +1,17 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
-VisualStudioVersion = 14.0.23107.0
+VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlackAPI", "SlackAPI.csproj", "{0C0A58A8-174E-4A4C-907B-C3569144D15D}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IntegrationTest", "IntegrationTest\IntegrationTest.csproj", "{C254F6FF-81D4-46DF-AA21-3D1A6456253B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {80450DB7-6A58-491E-8568-D5B7E0051169} = {80450DB7-6A58-491E-8568-D5B7E0051169}
+ EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlackApi.Console", "SlackApi.Console\SlackApi.Console.csproj", "{19140E48-E1A9-421D-86DB-5AF18EECFEF2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {80450DB7-6A58-491E-8568-D5B7E0051169} = {80450DB7-6A58-491E-8568-D5B7E0051169}
+ EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{9FC74E78-2D91-407E-B4C8-7C89D6CECB5B}"
ProjectSection(SolutionItems) = preProject
@@ -15,16 +19,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{9FC74E78-2
README.md = README.md
EndProjectSection
EndProject
+Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "SlackAPI", "SlackAPI\SlackAPI.xproj", "{80450DB7-6A58-491E-8568-D5B7E0051169}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0C0A58A8-174E-4A4C-907B-C3569144D15D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C0A58A8-174E-4A4C-907B-C3569144D15D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C0A58A8-174E-4A4C-907B-C3569144D15D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C0A58A8-174E-4A4C-907B-C3569144D15D}.Release|Any CPU.Build.0 = Release|Any CPU
{C254F6FF-81D4-46DF-AA21-3D1A6456253B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C254F6FF-81D4-46DF-AA21-3D1A6456253B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C254F6FF-81D4-46DF-AA21-3D1A6456253B}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -33,6 +35,10 @@ Global
{19140E48-E1A9-421D-86DB-5AF18EECFEF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19140E48-E1A9-421D-86DB-5AF18EECFEF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19140E48-E1A9-421D-86DB-5AF18EECFEF2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {80450DB7-6A58-491E-8568-D5B7E0051169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80450DB7-6A58-491E-8568-D5B7E0051169}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80450DB7-6A58-491E-8568-D5B7E0051169}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80450DB7-6A58-491E-8568-D5B7E0051169}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Attachment.cs b/SlackAPI/Attachment.cs
similarity index 100%
rename from Attachment.cs
rename to SlackAPI/Attachment.cs
diff --git a/Bot.cs b/SlackAPI/Bot.cs
similarity index 100%
rename from Bot.cs
rename to SlackAPI/Bot.cs
diff --git a/Channel.cs b/SlackAPI/Channel.cs
similarity index 100%
rename from Channel.cs
rename to SlackAPI/Channel.cs
diff --git a/ContextMessage.cs b/SlackAPI/ContextMessage.cs
similarity index 100%
rename from ContextMessage.cs
rename to SlackAPI/ContextMessage.cs
diff --git a/DirectMessageConversation.cs b/SlackAPI/DirectMessageConversation.cs
similarity index 100%
rename from DirectMessageConversation.cs
rename to SlackAPI/DirectMessageConversation.cs
diff --git a/Extensions.cs b/SlackAPI/Extensions.cs
similarity index 85%
rename from Extensions.cs
rename to SlackAPI/Extensions.cs
index 1e67071..341ee5b 100644
--- a/Extensions.cs
+++ b/SlackAPI/Extensions.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Runtime.Serialization;
using Newtonsoft.Json;
namespace SlackAPI
@@ -30,18 +29,17 @@ public static string ToProperTimeStamp(this DateTime that, bool toUTC = true)
public static K Deserialize(this string data)
where K : class
{
- return JsonConvert.DeserializeObject(data, CreateSettings(data));
+ return JsonConvert.DeserializeObject(data, CreateSettings());
}
public static object Deserialize(this string data, Type type)
{
- return JsonConvert.DeserializeObject(data, type, CreateSettings(data));
+ return JsonConvert.DeserializeObject(data, type, CreateSettings());
}
- private static JsonSerializerSettings CreateSettings(object contextData)
+ private static JsonSerializerSettings CreateSettings()
{
JsonSerializerSettings settings = new JsonSerializerSettings();
- settings.Context = new StreamingContext(StreamingContextStates.Other, contextData);
settings.Converters = Converters;
return settings;
diff --git a/File.cs b/SlackAPI/File.cs
similarity index 100%
rename from File.cs
rename to SlackAPI/File.cs
diff --git a/JavascriptBotsToArray.cs b/SlackAPI/JavascriptBotsToArray.cs
similarity index 100%
rename from JavascriptBotsToArray.cs
rename to SlackAPI/JavascriptBotsToArray.cs
diff --git a/JavascriptDateTimeConverter.cs b/SlackAPI/JavascriptDateTimeConverter.cs
similarity index 100%
rename from JavascriptDateTimeConverter.cs
rename to SlackAPI/JavascriptDateTimeConverter.cs
diff --git a/Message.cs b/SlackAPI/Message.cs
similarity index 100%
rename from Message.cs
rename to SlackAPI/Message.cs
diff --git a/MimeTypes.cs b/SlackAPI/MimeTypes.cs
similarity index 100%
rename from MimeTypes.cs
rename to SlackAPI/MimeTypes.cs
diff --git a/OwnedStampedMessage.cs b/SlackAPI/OwnedStampedMessage.cs
similarity index 100%
rename from OwnedStampedMessage.cs
rename to SlackAPI/OwnedStampedMessage.cs
diff --git a/Preferences.cs b/SlackAPI/Preferences.cs
similarity index 100%
rename from Preferences.cs
rename to SlackAPI/Preferences.cs
diff --git a/RPCMessages/AccessTokenResponse.cs b/SlackAPI/RPCMessages/AccessTokenResponse.cs
similarity index 100%
rename from RPCMessages/AccessTokenResponse.cs
rename to SlackAPI/RPCMessages/AccessTokenResponse.cs
diff --git a/RPCMessages/AuthSigninResponse.cs b/SlackAPI/RPCMessages/AuthSigninResponse.cs
similarity index 100%
rename from RPCMessages/AuthSigninResponse.cs
rename to SlackAPI/RPCMessages/AuthSigninResponse.cs
diff --git a/RPCMessages/AuthStartResponse.cs b/SlackAPI/RPCMessages/AuthStartResponse.cs
similarity index 100%
rename from RPCMessages/AuthStartResponse.cs
rename to SlackAPI/RPCMessages/AuthStartResponse.cs
diff --git a/RPCMessages/AuthTestResponse.cs b/SlackAPI/RPCMessages/AuthTestResponse.cs
similarity index 100%
rename from RPCMessages/AuthTestResponse.cs
rename to SlackAPI/RPCMessages/AuthTestResponse.cs
diff --git a/RPCMessages/ChannelCreateResponse.cs b/SlackAPI/RPCMessages/ChannelCreateResponse.cs
similarity index 100%
rename from RPCMessages/ChannelCreateResponse.cs
rename to SlackAPI/RPCMessages/ChannelCreateResponse.cs
diff --git a/RPCMessages/ChannelListResponse.cs b/SlackAPI/RPCMessages/ChannelListResponse.cs
similarity index 100%
rename from RPCMessages/ChannelListResponse.cs
rename to SlackAPI/RPCMessages/ChannelListResponse.cs
diff --git a/RPCMessages/ChannelMessageHistory.cs b/SlackAPI/RPCMessages/ChannelMessageHistory.cs
similarity index 100%
rename from RPCMessages/ChannelMessageHistory.cs
rename to SlackAPI/RPCMessages/ChannelMessageHistory.cs
diff --git a/RPCMessages/ChannelSetTopicResponse.cs b/SlackAPI/RPCMessages/ChannelSetTopicResponse.cs
similarity index 100%
rename from RPCMessages/ChannelSetTopicResponse.cs
rename to SlackAPI/RPCMessages/ChannelSetTopicResponse.cs
diff --git a/RPCMessages/DeletedResponse.cs b/SlackAPI/RPCMessages/DeletedResponse.cs
similarity index 100%
rename from RPCMessages/DeletedResponse.cs
rename to SlackAPI/RPCMessages/DeletedResponse.cs
diff --git a/RPCMessages/DirectMessageConversationListResponse.cs b/SlackAPI/RPCMessages/DirectMessageConversationListResponse.cs
similarity index 100%
rename from RPCMessages/DirectMessageConversationListResponse.cs
rename to SlackAPI/RPCMessages/DirectMessageConversationListResponse.cs
diff --git a/RPCMessages/FileInfoResponse.cs b/SlackAPI/RPCMessages/FileInfoResponse.cs
similarity index 100%
rename from RPCMessages/FileInfoResponse.cs
rename to SlackAPI/RPCMessages/FileInfoResponse.cs
diff --git a/RPCMessages/FileListResponse.cs b/SlackAPI/RPCMessages/FileListResponse.cs
similarity index 100%
rename from RPCMessages/FileListResponse.cs
rename to SlackAPI/RPCMessages/FileListResponse.cs
diff --git a/RPCMessages/FileUploadResponse.cs b/SlackAPI/RPCMessages/FileUploadResponse.cs
similarity index 100%
rename from RPCMessages/FileUploadResponse.cs
rename to SlackAPI/RPCMessages/FileUploadResponse.cs
diff --git a/RPCMessages/FindTeamResponse.cs b/SlackAPI/RPCMessages/FindTeamResponse.cs
similarity index 100%
rename from RPCMessages/FindTeamResponse.cs
rename to SlackAPI/RPCMessages/FindTeamResponse.cs
diff --git a/RPCMessages/GroupArchiveResponse.cs b/SlackAPI/RPCMessages/GroupArchiveResponse.cs
similarity index 100%
rename from RPCMessages/GroupArchiveResponse.cs
rename to SlackAPI/RPCMessages/GroupArchiveResponse.cs
diff --git a/RPCMessages/GroupCloseResponse.cs b/SlackAPI/RPCMessages/GroupCloseResponse.cs
similarity index 100%
rename from RPCMessages/GroupCloseResponse.cs
rename to SlackAPI/RPCMessages/GroupCloseResponse.cs
diff --git a/RPCMessages/GroupCreateChildResponse.cs b/SlackAPI/RPCMessages/GroupCreateChildResponse.cs
similarity index 100%
rename from RPCMessages/GroupCreateChildResponse.cs
rename to SlackAPI/RPCMessages/GroupCreateChildResponse.cs
diff --git a/RPCMessages/GroupCreateResponse.cs b/SlackAPI/RPCMessages/GroupCreateResponse.cs
similarity index 100%
rename from RPCMessages/GroupCreateResponse.cs
rename to SlackAPI/RPCMessages/GroupCreateResponse.cs
diff --git a/RPCMessages/GroupInviteResponse.cs b/SlackAPI/RPCMessages/GroupInviteResponse.cs
similarity index 100%
rename from RPCMessages/GroupInviteResponse.cs
rename to SlackAPI/RPCMessages/GroupInviteResponse.cs
diff --git a/RPCMessages/GroupKickResponse.cs b/SlackAPI/RPCMessages/GroupKickResponse.cs
similarity index 100%
rename from RPCMessages/GroupKickResponse.cs
rename to SlackAPI/RPCMessages/GroupKickResponse.cs
diff --git a/RPCMessages/GroupLeaveResponse.cs b/SlackAPI/RPCMessages/GroupLeaveResponse.cs
similarity index 100%
rename from RPCMessages/GroupLeaveResponse.cs
rename to SlackAPI/RPCMessages/GroupLeaveResponse.cs
diff --git a/RPCMessages/GroupListResponse.cs b/SlackAPI/RPCMessages/GroupListResponse.cs
similarity index 100%
rename from RPCMessages/GroupListResponse.cs
rename to SlackAPI/RPCMessages/GroupListResponse.cs
diff --git a/RPCMessages/GroupMarkResponse.cs b/SlackAPI/RPCMessages/GroupMarkResponse.cs
similarity index 100%
rename from RPCMessages/GroupMarkResponse.cs
rename to SlackAPI/RPCMessages/GroupMarkResponse.cs
diff --git a/RPCMessages/GroupMessageHistory.cs b/SlackAPI/RPCMessages/GroupMessageHistory.cs
similarity index 100%
rename from RPCMessages/GroupMessageHistory.cs
rename to SlackAPI/RPCMessages/GroupMessageHistory.cs
diff --git a/RPCMessages/GroupOpenResponse.cs b/SlackAPI/RPCMessages/GroupOpenResponse.cs
similarity index 100%
rename from RPCMessages/GroupOpenResponse.cs
rename to SlackAPI/RPCMessages/GroupOpenResponse.cs
diff --git a/RPCMessages/GroupRenameResponse.cs b/SlackAPI/RPCMessages/GroupRenameResponse.cs
similarity index 100%
rename from RPCMessages/GroupRenameResponse.cs
rename to SlackAPI/RPCMessages/GroupRenameResponse.cs
diff --git a/RPCMessages/GroupResponse.cs b/SlackAPI/RPCMessages/GroupResponse.cs
similarity index 100%
rename from RPCMessages/GroupResponse.cs
rename to SlackAPI/RPCMessages/GroupResponse.cs
diff --git a/RPCMessages/GroupSetPurposeResponse.cs b/SlackAPI/RPCMessages/GroupSetPurposeResponse.cs
similarity index 100%
rename from RPCMessages/GroupSetPurposeResponse.cs
rename to SlackAPI/RPCMessages/GroupSetPurposeResponse.cs
diff --git a/RPCMessages/GroupSetTopicResponse.cs b/SlackAPI/RPCMessages/GroupSetTopicResponse.cs
similarity index 100%
rename from RPCMessages/GroupSetTopicResponse.cs
rename to SlackAPI/RPCMessages/GroupSetTopicResponse.cs
diff --git a/RPCMessages/GroupUnarchiveResponse.cs b/SlackAPI/RPCMessages/GroupUnarchiveResponse.cs
similarity index 100%
rename from RPCMessages/GroupUnarchiveResponse.cs
rename to SlackAPI/RPCMessages/GroupUnarchiveResponse.cs
diff --git a/RPCMessages/JoinDirectMessageChannelResponse.cs b/SlackAPI/RPCMessages/JoinDirectMessageChannelResponse.cs
similarity index 100%
rename from RPCMessages/JoinDirectMessageChannelResponse.cs
rename to SlackAPI/RPCMessages/JoinDirectMessageChannelResponse.cs
diff --git a/RPCMessages/LoginResponse.cs b/SlackAPI/RPCMessages/LoginResponse.cs
similarity index 100%
rename from RPCMessages/LoginResponse.cs
rename to SlackAPI/RPCMessages/LoginResponse.cs
diff --git a/RPCMessages/MarkResponse.cs b/SlackAPI/RPCMessages/MarkResponse.cs
similarity index 100%
rename from RPCMessages/MarkResponse.cs
rename to SlackAPI/RPCMessages/MarkResponse.cs
diff --git a/RPCMessages/MessageHistory.cs b/SlackAPI/RPCMessages/MessageHistory.cs
similarity index 100%
rename from RPCMessages/MessageHistory.cs
rename to SlackAPI/RPCMessages/MessageHistory.cs
diff --git a/RPCMessages/PostMessageResponse.cs b/SlackAPI/RPCMessages/PostMessageResponse.cs
similarity index 100%
rename from RPCMessages/PostMessageResponse.cs
rename to SlackAPI/RPCMessages/PostMessageResponse.cs
diff --git a/RPCMessages/PresenseResponse.cs b/SlackAPI/RPCMessages/PresenseResponse.cs
similarity index 100%
rename from RPCMessages/PresenseResponse.cs
rename to SlackAPI/RPCMessages/PresenseResponse.cs
diff --git a/RPCMessages/SearchResponseAll.cs b/SlackAPI/RPCMessages/SearchResponseAll.cs
similarity index 100%
rename from RPCMessages/SearchResponseAll.cs
rename to SlackAPI/RPCMessages/SearchResponseAll.cs
diff --git a/RPCMessages/SearchResponseFiles.cs b/SlackAPI/RPCMessages/SearchResponseFiles.cs
similarity index 100%
rename from RPCMessages/SearchResponseFiles.cs
rename to SlackAPI/RPCMessages/SearchResponseFiles.cs
diff --git a/RPCMessages/SearchResponseMessages.cs b/SlackAPI/RPCMessages/SearchResponseMessages.cs
similarity index 100%
rename from RPCMessages/SearchResponseMessages.cs
rename to SlackAPI/RPCMessages/SearchResponseMessages.cs
diff --git a/RPCMessages/StarListResponse.cs b/SlackAPI/RPCMessages/StarListResponse.cs
similarity index 100%
rename from RPCMessages/StarListResponse.cs
rename to SlackAPI/RPCMessages/StarListResponse.cs
diff --git a/RPCMessages/UpdateResponse.cs b/SlackAPI/RPCMessages/UpdateResponse.cs
similarity index 100%
rename from RPCMessages/UpdateResponse.cs
rename to SlackAPI/RPCMessages/UpdateResponse.cs
diff --git a/RPCMessages/UserCountsResponse.cs b/SlackAPI/RPCMessages/UserCountsResponse.cs
similarity index 100%
rename from RPCMessages/UserCountsResponse.cs
rename to SlackAPI/RPCMessages/UserCountsResponse.cs
diff --git a/RPCMessages/UserGetPresenceResponse.cs b/SlackAPI/RPCMessages/UserGetPresenceResponse.cs
similarity index 100%
rename from RPCMessages/UserGetPresenceResponse.cs
rename to SlackAPI/RPCMessages/UserGetPresenceResponse.cs
diff --git a/RPCMessages/UserInfoResponse.cs b/SlackAPI/RPCMessages/UserInfoResponse.cs
similarity index 100%
rename from RPCMessages/UserInfoResponse.cs
rename to SlackAPI/RPCMessages/UserInfoResponse.cs
diff --git a/RPCMessages/UserListResponse.cs b/SlackAPI/RPCMessages/UserListResponse.cs
similarity index 100%
rename from RPCMessages/UserListResponse.cs
rename to SlackAPI/RPCMessages/UserListResponse.cs
diff --git a/RPCMessages/UserPreferencesResponse.cs b/SlackAPI/RPCMessages/UserPreferencesResponse.cs
similarity index 100%
rename from RPCMessages/UserPreferencesResponse.cs
rename to SlackAPI/RPCMessages/UserPreferencesResponse.cs
diff --git a/Reaction.cs b/SlackAPI/Reaction.cs
similarity index 100%
rename from Reaction.cs
rename to SlackAPI/Reaction.cs
diff --git a/ReactionAddedResponse.cs b/SlackAPI/ReactionAddedResponse.cs
similarity index 100%
rename from ReactionAddedResponse.cs
rename to SlackAPI/ReactionAddedResponse.cs
diff --git a/Request.cs b/SlackAPI/Request.cs
similarity index 100%
rename from Request.cs
rename to SlackAPI/Request.cs
diff --git a/RequestStateForTask.cs b/SlackAPI/RequestStateForTask.cs
similarity index 100%
rename from RequestStateForTask.cs
rename to SlackAPI/RequestStateForTask.cs
diff --git a/Response.cs b/SlackAPI/Response.cs
similarity index 100%
rename from Response.cs
rename to SlackAPI/Response.cs
diff --git a/SlackAPI/SlackAPI.xproj b/SlackAPI/SlackAPI.xproj
new file mode 100644
index 0000000..5e32ab3
--- /dev/null
+++ b/SlackAPI/SlackAPI.xproj
@@ -0,0 +1,21 @@
+
+
+
+ 14.0
+ $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
+
+
+
+
+ 80450db7-6a58-491e-8568-d5b7e0051169
+ SlackAPI
+ .\obj
+ .\bin\
+ v4.5.2
+
+
+
+ 2.0
+
+
+
diff --git a/SlackClient.cs b/SlackAPI/SlackClient.cs
similarity index 100%
rename from SlackClient.cs
rename to SlackAPI/SlackClient.cs
diff --git a/SlackScope.cs b/SlackAPI/SlackScope.cs
similarity index 100%
rename from SlackScope.cs
rename to SlackAPI/SlackScope.cs
diff --git a/SlackSocket.cs b/SlackAPI/SlackSocket.cs
similarity index 83%
rename from SlackSocket.cs
rename to SlackAPI/SlackSocket.cs
index 66db8af..d975c78 100644
--- a/SlackSocket.cs
+++ b/SlackAPI/SlackSocket.cs
@@ -10,6 +10,10 @@
using System.Threading.Tasks;
using System.Linq;
+#if NETSTANDARD1_6
+using Microsoft.Extensions.DependencyModel;
+#endif
+
namespace SlackAPI
{
public class SlackSocket
@@ -37,27 +41,35 @@ public class SlackSocket
static SlackSocket()
{
routing = new Dictionary>();
- foreach (Assembly assy in AppDomain.CurrentDomain.GetAssemblies())
+#if NET45
+ var assemblies = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.GlobalAssemblyCache == false);
+#elif NETSTANDARD1_6
+ var assemblies = DependencyContext.Default.GetDefaultAssemblyNames().Select(Assembly.Load);
+#else
+ #error Platform not supported
+#endif
+ foreach (Assembly assy in assemblies)
{
- if (!assy.GlobalAssemblyCache)
- foreach (Type t in assy.GetTypes())
- foreach (SlackSocketRouting route in t.GetCustomAttributes())
+ foreach (Type t in assy.GetTypes())
+ {
+ foreach (SlackSocketRouting route in t.GetTypeInfo().GetCustomAttributes())
+ {
+ if (!routing.ContainsKey(route.Type))
+ routing.Add(route.Type, new Dictionary()
{
- if (!routing.ContainsKey(route.Type))
- routing.Add(route.Type, new Dictionary()
- {
- {route.SubType ?? "null", t}
- });
- else
- if (!routing[route.Type].ContainsKey(route.SubType ?? "null"))
- routing[route.Type].Add(route.SubType ?? "null", t);
- else
- throw new InvalidProgramException("Cannot have two socket message types with the same type and subtype!");
- }
+ {route.SubType ?? "null", t}
+ });
+ else
+ if (!routing[route.Type].ContainsKey(route.SubType ?? "null"))
+ routing[route.Type].Add(route.SubType ?? "null", t);
+ else
+ throw new InvalidProgramException("Cannot have two socket message types with the same type and subtype!");
+ }
+ }
}
}
- public SlackSocket(LoginResponse loginDetails, object routingTo, Action onConnected = null)
+ public SlackSocket(LoginResponse loginDetails, object routingTo, Action onConnected = null)
{
BuildRoutes(routingTo);
socket = new ClientWebSocket();
@@ -78,17 +90,17 @@ void BuildRoutes(object routingTo)
Type routingToType = routingTo.GetType();
Type slackMessage = typeof(SlackSocketMessage);
- foreach (MethodInfo m in routingTo.GetType().GetMethods(BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Public))
+ foreach (MethodInfo m in routingTo.GetType().GetTypeInfo().GetMethods(BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Public))
{
ParameterInfo[] parameters = m.GetParameters();
if (parameters.Length != 1) continue;
- if (parameters[0].ParameterType.IsSubclassOf(slackMessage))
+ if (parameters[0].ParameterType.GetTypeInfo().IsSubclassOf(slackMessage))
{
Type t = parameters[0].ParameterType;
- foreach (SlackSocketRouting route in t.GetCustomAttributes())
+ foreach (SlackSocketRouting route in t.GetTypeInfo().GetCustomAttributes())
{
Type genericAction = typeof(Action<>).MakeGenericType(parameters[0].ParameterType);
- Delegate d = Delegate.CreateDelegate(genericAction, routingTo, m, false);
+ Delegate d = m.CreateDelegate(genericAction, routingTo);
if (d == null)
{
System.Diagnostics.Debug.WriteLine(string.Format("Couldn't create delegate for {0}.{1}", routingToType.FullName, m.Name));
@@ -125,7 +137,7 @@ public void Send(SlackSocketMessage message)
//socket.Send(JsonConvert.SerializeObject(message));
if (string.IsNullOrEmpty(message.type)){
- IEnumerable routes = message.GetType().GetCustomAttributes();
+ IEnumerable routes = message.GetType().GetTypeInfo().GetCustomAttributes();
SlackSocketRouting route = null;
foreach (SlackSocketRouting r in routes)
@@ -142,14 +154,14 @@ public void Send(SlackSocketMessage message)
sendingQueue.Push(JsonConvert.SerializeObject(message, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }));
if (Interlocked.CompareExchange(ref currentlySending, 1, 0) == 0)
- ThreadPool.QueueUserWorkItem(HandleSending);
+ Task.Factory.StartNew(HandleSending);
}
public void BindCallback(Action callback)
{
Type t = typeof(K);
- foreach (SlackSocketRouting route in t.GetCustomAttributes())
+ foreach (SlackSocketRouting route in t.GetTypeInfo().GetCustomAttributes())
{
if (!routes.ContainsKey(route.Type))
routes.Add(route.Type, new Dictionary());
@@ -163,7 +175,7 @@ public void BindCallback(Action callback)
public void UnbindCallback(Action callback)
{
Type t = typeof(K);
- foreach (SlackSocketRouting route in t.GetCustomAttributes())
+ foreach (SlackSocketRouting route in t.GetTypeInfo().GetCustomAttributes())
{
Delegate d = routes.ContainsKey(route.Type) ? (routes.ContainsKey(route.SubType ?? "null") ? routes[route.Type][route.SubType ?? "null"] : null) : null;
if (d != null)
@@ -249,7 +261,7 @@ void HandleMessage(SlackSocketMessage message, string data)
else
{
//I believe this method is slower than the former. If I'm wrong we can just use this instead. :D
- Type t = routes[message.type][message.subtype ?? "null"].Method.GetParameters()[0].ParameterType;
+ Type t = routes[message.type][message.subtype ?? "null"].GetMethodInfo().GetParameters()[0].ParameterType;
o = data.Deserialize(t);
}
routes[message.type][message.subtype ?? "null"].DynamicInvoke(o);
@@ -269,7 +281,7 @@ void HandleMessage(SlackSocketMessage message, string data)
}
}
- void HandleSending(object stateful)
+ void HandleSending()
{
string message;
while (sendingQueue.Pop(out message) && socket.State == WebSocketState.Open && !cts.Token.IsCancellationRequested)
diff --git a/SlackSocketClient.cs b/SlackAPI/SlackSocketClient.cs
similarity index 100%
rename from SlackSocketClient.cs
rename to SlackAPI/SlackSocketClient.cs
diff --git a/SlackTaskClient.cs b/SlackAPI/SlackTaskClient.cs
similarity index 100%
rename from SlackTaskClient.cs
rename to SlackAPI/SlackTaskClient.cs
diff --git a/Team.cs b/SlackAPI/Team.cs
similarity index 100%
rename from Team.cs
rename to SlackAPI/Team.cs
diff --git a/TeamPreferences.cs b/SlackAPI/TeamPreferences.cs
similarity index 100%
rename from TeamPreferences.cs
rename to SlackAPI/TeamPreferences.cs
diff --git a/User.cs b/SlackAPI/User.cs
similarity index 100%
rename from User.cs
rename to SlackAPI/User.cs
diff --git a/UserProfile.cs b/SlackAPI/UserProfile.cs
similarity index 100%
rename from UserProfile.cs
rename to SlackAPI/UserProfile.cs
diff --git a/UserTeamCombo.cs b/SlackAPI/UserTeamCombo.cs
similarity index 100%
rename from UserTeamCombo.cs
rename to SlackAPI/UserTeamCombo.cs
diff --git a/Utilities/ILockFree.cs b/SlackAPI/Utilities/ILockFree.cs
similarity index 100%
rename from Utilities/ILockFree.cs
rename to SlackAPI/Utilities/ILockFree.cs
diff --git a/Utilities/LockFreeQueue.cs b/SlackAPI/Utilities/LockFreeQueue.cs
similarity index 100%
rename from Utilities/LockFreeQueue.cs
rename to SlackAPI/Utilities/LockFreeQueue.cs
diff --git a/WebSocketMessages/ChannelArchive.cs b/SlackAPI/WebSocketMessages/ChannelArchive.cs
similarity index 100%
rename from WebSocketMessages/ChannelArchive.cs
rename to SlackAPI/WebSocketMessages/ChannelArchive.cs
diff --git a/WebSocketMessages/ChannelCreated.cs b/SlackAPI/WebSocketMessages/ChannelCreated.cs
similarity index 100%
rename from WebSocketMessages/ChannelCreated.cs
rename to SlackAPI/WebSocketMessages/ChannelCreated.cs
diff --git a/WebSocketMessages/ChannelDeleted.cs b/SlackAPI/WebSocketMessages/ChannelDeleted.cs
similarity index 100%
rename from WebSocketMessages/ChannelDeleted.cs
rename to SlackAPI/WebSocketMessages/ChannelDeleted.cs
diff --git a/WebSocketMessages/ChannelMarked.cs b/SlackAPI/WebSocketMessages/ChannelMarked.cs
similarity index 100%
rename from WebSocketMessages/ChannelMarked.cs
rename to SlackAPI/WebSocketMessages/ChannelMarked.cs
diff --git a/WebSocketMessages/ChannelRename.cs b/SlackAPI/WebSocketMessages/ChannelRename.cs
similarity index 100%
rename from WebSocketMessages/ChannelRename.cs
rename to SlackAPI/WebSocketMessages/ChannelRename.cs
diff --git a/WebSocketMessages/ChannelUnarchive.cs b/SlackAPI/WebSocketMessages/ChannelUnarchive.cs
similarity index 100%
rename from WebSocketMessages/ChannelUnarchive.cs
rename to SlackAPI/WebSocketMessages/ChannelUnarchive.cs
diff --git a/WebSocketMessages/DeletedMessage.cs b/SlackAPI/WebSocketMessages/DeletedMessage.cs
similarity index 100%
rename from WebSocketMessages/DeletedMessage.cs
rename to SlackAPI/WebSocketMessages/DeletedMessage.cs
diff --git a/WebSocketMessages/FileShareMessage.cs b/SlackAPI/WebSocketMessages/FileShareMessage.cs
similarity index 100%
rename from WebSocketMessages/FileShareMessage.cs
rename to SlackAPI/WebSocketMessages/FileShareMessage.cs
diff --git a/WebSocketMessages/GroupArchive.cs b/SlackAPI/WebSocketMessages/GroupArchive.cs
similarity index 100%
rename from WebSocketMessages/GroupArchive.cs
rename to SlackAPI/WebSocketMessages/GroupArchive.cs
diff --git a/WebSocketMessages/GroupClose.cs b/SlackAPI/WebSocketMessages/GroupClose.cs
similarity index 100%
rename from WebSocketMessages/GroupClose.cs
rename to SlackAPI/WebSocketMessages/GroupClose.cs
diff --git a/WebSocketMessages/GroupJoined.cs b/SlackAPI/WebSocketMessages/GroupJoined.cs
similarity index 100%
rename from WebSocketMessages/GroupJoined.cs
rename to SlackAPI/WebSocketMessages/GroupJoined.cs
diff --git a/WebSocketMessages/GroupLeft.cs b/SlackAPI/WebSocketMessages/GroupLeft.cs
similarity index 100%
rename from WebSocketMessages/GroupLeft.cs
rename to SlackAPI/WebSocketMessages/GroupLeft.cs
diff --git a/WebSocketMessages/GroupOpen.cs b/SlackAPI/WebSocketMessages/GroupOpen.cs
similarity index 100%
rename from WebSocketMessages/GroupOpen.cs
rename to SlackAPI/WebSocketMessages/GroupOpen.cs
diff --git a/WebSocketMessages/GroupRename.cs b/SlackAPI/WebSocketMessages/GroupRename.cs
similarity index 100%
rename from WebSocketMessages/GroupRename.cs
rename to SlackAPI/WebSocketMessages/GroupRename.cs
diff --git a/WebSocketMessages/GroupUnarchive.cs b/SlackAPI/WebSocketMessages/GroupUnarchive.cs
similarity index 100%
rename from WebSocketMessages/GroupUnarchive.cs
rename to SlackAPI/WebSocketMessages/GroupUnarchive.cs
diff --git a/WebSocketMessages/Hello.cs b/SlackAPI/WebSocketMessages/Hello.cs
similarity index 100%
rename from WebSocketMessages/Hello.cs
rename to SlackAPI/WebSocketMessages/Hello.cs
diff --git a/WebSocketMessages/MessageReceived.cs b/SlackAPI/WebSocketMessages/MessageReceived.cs
similarity index 100%
rename from WebSocketMessages/MessageReceived.cs
rename to SlackAPI/WebSocketMessages/MessageReceived.cs
diff --git a/WebSocketMessages/NewMessage.cs b/SlackAPI/WebSocketMessages/NewMessage.cs
similarity index 100%
rename from WebSocketMessages/NewMessage.cs
rename to SlackAPI/WebSocketMessages/NewMessage.cs
diff --git a/WebSocketMessages/Ping.cs b/SlackAPI/WebSocketMessages/Ping.cs
similarity index 100%
rename from WebSocketMessages/Ping.cs
rename to SlackAPI/WebSocketMessages/Ping.cs
diff --git a/WebSocketMessages/Pong.cs b/SlackAPI/WebSocketMessages/Pong.cs
similarity index 100%
rename from WebSocketMessages/Pong.cs
rename to SlackAPI/WebSocketMessages/Pong.cs
diff --git a/WebSocketMessages/PresenceChange.cs b/SlackAPI/WebSocketMessages/PresenceChange.cs
similarity index 100%
rename from WebSocketMessages/PresenceChange.cs
rename to SlackAPI/WebSocketMessages/PresenceChange.cs
diff --git a/WebSocketMessages/ReactionAdded.cs b/SlackAPI/WebSocketMessages/ReactionAdded.cs
similarity index 100%
rename from WebSocketMessages/ReactionAdded.cs
rename to SlackAPI/WebSocketMessages/ReactionAdded.cs
diff --git a/WebSocketMessages/TeamJoin.cs b/SlackAPI/WebSocketMessages/TeamJoin.cs
similarity index 100%
rename from WebSocketMessages/TeamJoin.cs
rename to SlackAPI/WebSocketMessages/TeamJoin.cs
diff --git a/WebSocketMessages/Typing.cs b/SlackAPI/WebSocketMessages/Typing.cs
similarity index 100%
rename from WebSocketMessages/Typing.cs
rename to SlackAPI/WebSocketMessages/Typing.cs
diff --git a/WebSocketMessages/UserChange.cs b/SlackAPI/WebSocketMessages/UserChange.cs
similarity index 100%
rename from WebSocketMessages/UserChange.cs
rename to SlackAPI/WebSocketMessages/UserChange.cs
diff --git a/SlackAPI/project.json b/SlackAPI/project.json
new file mode 100644
index 0000000..40ec5fe
--- /dev/null
+++ b/SlackAPI/project.json
@@ -0,0 +1,36 @@
+{
+ "name": "SlackAPI",
+ "title": "SlackAPI",
+ "summary": "The MIT License (MIT)",
+ "description": "A Slack wrapper for direct interaction with their APIs.",
+ "copyright": "Inumedia - Copyright © 2014",
+ "licenseUrl": "http://choosealicense.com/licenses/mit/",
+ "authors": ["Inumedia"],
+ "owners": ["Inumedia"],
+ "language": "en-US",
+ "requireLicenseAcceptance": true,
+ "version": "1.0.5-*",
+
+ "dependencies": {
+ "Newtonsoft.Json": "9.0.1"
+ },
+
+ "frameworks": {
+ "net45": {
+ "dependencies": {
+ "System.Net.Http": "4.0"
+ }
+ },
+ "netstandard1.6":{
+ "dependencies": {
+ "NETStandard.Library":"1.6.0",
+ "System.Net.Requests": "4.0.11",
+ // Use a beta version of WebSockets package because ClientWebSocket is not
+ // implemented in .Net Core 1.0 for Unix/MacOS (planned for 1.1)
+ // https://github.com/dotnet/corefx/issues/2486
+ "System.Net.WebSockets.Client": "4.0.1-beta-24303-02",
+ "Microsoft.Extensions.DependencyModel": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/SlackApi.Console/Program.cs b/SlackApi.Console/Program.cs
index ba7203b..40b85c3 100644
--- a/SlackApi.Console/Program.cs
+++ b/SlackApi.Console/Program.cs
@@ -1,10 +1,6 @@
using SlackAPI;
using System;
-using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Web;
namespace SlackApi
diff --git a/SlackApi.Console/SlackApi.Console.csproj b/SlackApi.Console/SlackApi.Console.csproj
index ba5e699..0f016b2 100644
--- a/SlackApi.Console/SlackApi.Console.csproj
+++ b/SlackApi.Console/SlackApi.Console.csproj
@@ -32,14 +32,12 @@
4
+
+ ..\SlackAPI\bin\Debug\net45\SlackAPI.dll
+
-
-
-
-
-
@@ -48,12 +46,6 @@
-
-
- {0c0a58a8-174e-4a4c-907b-c3569144d15d}
- SlackAPI
-
-