diff --git a/irc/TechBot/CHMLibrary/CHMLibrary.csproj b/irc/TechBot/CHMLibrary/CHMLibrary.csproj
new file mode 100644
index 00000000000..3ab019a4eca
--- /dev/null
+++ b/irc/TechBot/CHMLibrary/CHMLibrary.csproj
@@ -0,0 +1,85 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}
+ Library
+ Properties
+ CHMLibrary
+ CHMLibrary
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}
+ Compression
+
+
+
\ No newline at end of file
diff --git a/irc/TechBot/Compression/Compression.csproj b/irc/TechBot/Compression/Compression.csproj
new file mode 100644
index 00000000000..8e6fb7ef92e
--- /dev/null
+++ b/irc/TechBot/Compression/Compression.csproj
@@ -0,0 +1,65 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}
+ Library
+ Properties
+ Compression
+ Compression
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/irc/TechBot/TechBot.Console/Properties/.gitignore b/irc/TechBot/TechBot.Console/Properties/.gitignore
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/irc/TechBot/TechBot.Console/TechBot.Console.csproj b/irc/TechBot/TechBot.Console/TechBot.Console.csproj
new file mode 100644
index 00000000000..bc18afbc975
--- /dev/null
+++ b/irc/TechBot/TechBot.Console/TechBot.Console.csproj
@@ -0,0 +1,59 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}
+ Exe
+ Properties
+ TechBot.Console
+ TechBot.Console
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}
+ TechBot.IRCLibrary
+
+
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}
+ TechBot.Library
+
+
+
+
+
+
\ No newline at end of file
diff --git a/irc/TechBot/TechBot.IRCLibrary/Properties/.gitignore b/irc/TechBot/TechBot.IRCLibrary/Properties/.gitignore
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/irc/TechBot/TechBot.IRCLibrary/TechBot.IRCLibrary.csproj b/irc/TechBot/TechBot.IRCLibrary/TechBot.IRCLibrary.csproj
new file mode 100644
index 00000000000..04f4676758a
--- /dev/null
+++ b/irc/TechBot/TechBot.IRCLibrary/TechBot.IRCLibrary.csproj
@@ -0,0 +1,56 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}
+ Library
+ Properties
+ TechBot.IRCLibrary
+ TechBot.IRCLibrary
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/irc/TechBot/TechBot.Library/Properties/.gitignore b/irc/TechBot/TechBot.Library/Properties/.gitignore
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/irc/TechBot/TechBot.Library/TechBot.Library.csproj b/irc/TechBot/TechBot.Library/TechBot.Library.csproj
new file mode 100644
index 00000000000..84e3061274c
--- /dev/null
+++ b/irc/TechBot/TechBot.Library/TechBot.Library.csproj
@@ -0,0 +1,77 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}
+ Library
+ Properties
+ TechBot.Library
+ TechBot.Library
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}
+ CHMLibrary
+
+
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}
+ TechBot.IRCLibrary
+
+
+
+
+
+
\ No newline at end of file
diff --git a/irc/TechBot/TechBot.sln b/irc/TechBot/TechBot.sln
new file mode 100644
index 00000000000..0b3a83f21de
--- /dev/null
+++ b/irc/TechBot/TechBot.sln
@@ -0,0 +1,50 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot", "TechBot\TechBot.csproj", "{106F437D-424B-4758-A69C-862D08D26F3D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Compression", "Compression\Compression.csproj", "{E32307F1-623A-4E62-826F-56CDD4B23A54}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CHMLibrary", "CHMLibrary\CHMLibrary.csproj", "{72E5CCA1-6318-4D62-964D-CB23A5C743B5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Console", "TechBot.Console\TechBot.Console.csproj", "{44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.IRCLibrary", "TechBot.IRCLibrary\TechBot.IRCLibrary.csproj", "{D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TechBot.Library", "TechBot.Library\TechBot.Library.csproj", "{1114F34D-F388-4F38-AE27-C0EE1B10B777}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {106F437D-424B-4758-A69C-862D08D26F3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {106F437D-424B-4758-A69C-862D08D26F3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {106F437D-424B-4758-A69C-862D08D26F3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {106F437D-424B-4758-A69C-862D08D26F3D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E32307F1-623A-4E62-826F-56CDD4B23A54}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72E5CCA1-6318-4D62-964D-CB23A5C743B5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44258BA2-FFCB-4463-9CED-6DE5CC5CEBD4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/irc/TechBot/TechBot/Properties/.gitignore b/irc/TechBot/TechBot/Properties/.gitignore
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/irc/TechBot/TechBot/TechBot.csproj b/irc/TechBot/TechBot/TechBot.csproj
new file mode 100644
index 00000000000..604d2d4c801
--- /dev/null
+++ b/irc/TechBot/TechBot/TechBot.csproj
@@ -0,0 +1,68 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.50727
+ 2.0
+ {106F437D-424B-4758-A69C-862D08D26F3D}
+ Exe
+ Properties
+ TechBot
+ TechBot
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+ Component
+
+
+
+
+
+
+
+
+
+
+ {D2A57931-DF04-4BC3-BD11-75DF4F3B0A88}
+ TechBot.IRCLibrary
+
+
+ {1114F34D-F388-4F38-AE27-C0EE1B10B777}
+ TechBot.Library
+
+
+
+
+
+
\ No newline at end of file