diff --git a/Discord Media Loader/App.config b/Discord Media Loader/App.config
index 731f6de..ca5f785 100644
--- a/Discord Media Loader/App.config
+++ b/Discord Media Loader/App.config
@@ -1,6 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Discord Media Loader/Discord Media Loader.csproj b/Discord Media Loader/Discord Media Loader.csproj
index 0245593..274394d 100644
--- a/Discord Media Loader/Discord Media Loader.csproj
+++ b/Discord Media Loader/Discord Media Loader.csproj
@@ -32,6 +32,9 @@
prompt
4
+
+ Serraniel-64x64.ico
+
..\packages\Discord.Net.0.9.6\lib\net45\Discord.Net.dll
@@ -74,6 +77,12 @@
+
+ Form
+
+
+ LoginForm.cs
+
Form
@@ -82,6 +91,12 @@
+
+ LoginForm.cs
+
+
+ MainForm.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -90,6 +105,7 @@
True
Resources.resx
+ True
@@ -105,6 +121,9 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b////VP///3////+m////zP//
+ /+T////1//////////r////u////3f///8z///+m////f////1T///8b////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////5D////b////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /9v///+Q////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///90////1v//
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////W////dP///w3///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A2K4AANiuAADYrgAA2K4AANiuAADfswAA////EP//
+ /4D////t////////////////////////////////////////////////9/zq/7XiQ/+340n/w+ho/9Pu
+ kf/m9b//+Pzt///////////////////////////////////////////////////////////t////gf//
+ /xCa2AAAmtgAAJrYAACa2AAAmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANiuAADYrgAA2K4AANiu
+ AAD///8B////Yf///+v//////////////////////////////////////////////////////////+z4
+ z/+a2AD/mtgA/5rYAP+a2AD/mtgA/6TcGf+65VL/3fKo//n98P//////////////////////////////
+ ///////////////////////r////Yf///wGa2AAAmtgAAJrYAACa2AAA////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wDYrgAA2K4AANiuAAD///8k////xP//////////////////////////////////////////////////
+ ///////////////////h87P/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+n3SD/zOt+//X7
+ 5v/////////////////////////////////////////////////////E////I5rYAACa2AAAmtgAAP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A2K4AANiuAAD///9V////8f//////////////////////////////////
+ ////////////////////////////////////////0+6Q/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+k3Bn/0e2K//v+9v//////////////////////////////////////////////
+ //H///9VmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+M////////////////////////
+ /////////////////////////////////////////////////////////////8bpbv+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+u4DP/5/bD////////////////////
+ /////////////////////////////////4z///8B////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+l////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+55E//mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5zZ
+ Bv/P7Ib/////////////////////////////////////////////////////pf///wb///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wb///+3////////////////////////////////////////////////////////////////////////
+ ///////////////////+//3/rd8x/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/7zlV//5/fH/////////////////////////////////////////
+ //////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wH///+k////////////////////////////////////////////////////////
+ ////////////////////////////////////////+f3v/6PcF/+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/seE7//X75v//////////////
+ /////////////////////////////////6T///8B////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///+K////////////////////////////////////////
+ /////////////////////////////////////////////////////////////+751f+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+s3y7/9Pvi////////////////////////////////////////////////i////wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///s+M//rd8w/6XcHf+c2Qb/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/6zfLv/1++f/////////////////////////////////////////
+ //////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////8P//
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v/6/fL/8PnZ/97yrP/E6Gv/qd4l/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/suE8//v99P//////////////
+ ////////////////////////////8P///yP///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8B////xP//////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////v9
+ 9f/e8qz/s+JA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP/A51/////////////////////////////////////////////////E////Af///wD///8A////AP//
+ /wD///8A////AP///wD///8A////Yf//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////f867/rN8t/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/9jwnP//////////////////////////////////////////////
+ /2H///8A////AP///wD///8A////AP///wD///8A////EP///+r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////r98//I6nX/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+h2xL/8/rh////////////////////
+ ///////////////////////q////Ev///wD///8A////AP///wD///8A////AP///3//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////9/yrf+h2xL/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8Dn
+ X////////////////////////////////////////////////4D///8A////AP///wD///8A////AP//
+ /w3////u////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////7PjQ/6reKP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+c2QX/7vjT///////////////////////////////////////////u////Df//
+ /wD///8A////AP///wD///90////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////0++L/qd4n/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8PoaP//////////////////////////////
+ /////////////////3T///8A////AP///wD///8B////2///////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+360P+k4g3/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+j2xb/+Pzu////
+ ///////////////////////////////////////b////Af///wD///8A////O///////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////wNCY/53dAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/9/zr////////////////////////////////////////////////zv///8A////AP//
+ /5D/////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////f39/+Puin/n+AA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP/F6W3/////////////////////////////////////////
+ //////+Q////AP///wD////Y////////////////////////////////////////////////////////
+ /////////////////////////////+3t7f+3t7f/jIyM/3Nzc/9oaGj/a2tr/35+fv+dnZ3/xsbG//Hx
+ 8f//////////////////////////////////////////////////////////////////////////////
+ ////////iZNy/5zbAP+b2QD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/s+JA////////////////////
+ ////////////////////////////2f///wD///8d////////////////////////////////////////
+ ////////////////////////////////////////9fTx/46Pk/9BQUH/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv9ERET/fn5+/8rKyv//////////////////////////////////////////////
+ /////////////////////////////4iHjP98qA3/n+AA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6ne
+ J/////////////////////////////////////////////////////8e////Vv//////////////////
+ ////////////////////////////////////////////////////////+fDL/45/Qv8kJjH/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Xl5e/7e3t//+/v7/////////
+ //////////////////////////////////////////////////9vbXX/T2Ig/57fAP+a2QD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+l3Bz/////////////////////////////////////////////////////Vv//
+ /4T/////////////////////////////////////////////////////////////////////8+ax/+O5
+ D/92ZBv/JCYx/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/YGBg/8jIyP/////////////////////////////////////////////////09PT/QkJE/zEz
+ Lf+Mwgb/nd0A/5rYAP+a2AD/mtgA/5rYAP+a2AD/pdwb////////////////////////////////////
+ /////////////////4T///+t////////////////////////////////////////////////////////
+ ////////8+ez/9mwB//htQD/dWMb/yQnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/dHR0/97e3v//////////////////////////////
+ ////////r6+v/y4uLv8nIzH/bZET/6HiAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6neJv//////////////
+ //////////////////////////////////////+t////zP//////////////////////////////////
+ ////////////////////////+PHS/9qyDv/YrgD/4rUA/3lmGf8kJjH/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Ozs7/1ZWVv90dHT/jo6O/5mZmf/Hx8f//v7+////
+ ////////////////////////7+/v/0dHR/8uLi7/KCUw/1BkH/+f4AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+z4T7/////////////////////////////////////////////////////zP///+X/////////////
+ /////////////////////////////////////////v35/+C/N//YrgD/2K4A/+O2AP+Dbhf/IyYx/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/1VVVf+QkJD/xsbG/+rq6v//////////////
+ ////////////////////////////////////////+vr6/2tra/8uLi7/Li4u/yspL/86Qij/ltEC/5va
+ AP+a2AD/mtgA/5rYAP+a2AD/x+ly////////////////////////////////////////////////////
+ /+D////y//////////////////////////////////////////////////////Dfm//YrgD/2K4A/9iu
+ AP/itQD/k3oT/yUnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/cHBw/8bGxv/8/Pz/////////
+ ////////////////////////////////////////////////////////7+/v/3BwcP8uLi7/Li4u/y4u
+ Lv8tLC7/Ly8u/4e7CP+e3gD/mtgA/5rYAP+a2AD/mtgA/+X1vf//////////////////////////////
+ ///////////////////////s//////////////////////////////////////////////////////79
+ +f/euyr/2K4A/9iuAP/YrgD/4LQA/6iKDf8oKTD/Li4u/y4uLv8uLi7/Li4u/y4uLv9QUFD/xMTE////
+ ////////////////////////////////////////////////////////////////////////w8PD/1BQ
+ UP8uLi7/Li4u/y4uLv8uLi7/Li4u/yknMP95pA7/n+EA/5rYAP+a2AD/mtgA/6neJ//8/vj/////////
+ ////////////////////////////////////////////+f//////////////////////////////////
+ ///////////////////168D/2K4A/9iuAP/YrgD/2K4A/92yAP+/mwf/MTAt/ywtLv8uLi7/Li4u/y4u
+ Lv9wcHD/8PDw//////////////////////////////////////////////////////////////////r6
+ +v/ExMT/bm5u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/a44U/6HiAP+a2AD/mtgA/5rY
+ AP/W75j///////////////////////////////////////////////////////////n////y////////
+ ////////////////////////////////////////6tR3/9iuAP/YrgD/2K4A/9iuAP/arwD/06oB/0VA
+ J/8pKi//Li4u/y4uLv9ra2v/+vr6//////////////////////////////////////////////////39
+ /f/n5+f/wsLC/4yMjP9SUlL/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/JyMx/2F+
+ GP+h4wD/mtgA/5rYAP+v4DX//P74////////////////////////////////////////////////////
+ ///////s////5f///////////////////////////////////////////////+LDQv/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/+C0AP9oWh7/JCcx/y4uLv9GRkb/7u7u/////////////////////////////v7+/8fH
+ x/+VlZX/iYmJ/3BwcP9TU1P/OTk5/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/ygkMf9bdRv/oOEA/5rYAP+g2g7/7fjR////////////////////////////////////
+ ////////////////////////////4P///8z/////////////////////////////////////////////
+ ///euyj/2K4A/9iuAP/YrgD/2K4A/9iuAP/itQD/ln0S/yQnMf8uLi7/ra2t////////////////////
+ ///////////////////i4uL/e3t7/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/WXEc/6DhAP+d2Qf/4fOy////////////////////
+ /////////////////////////////////////////////////8z///+t////////////////////////
+ ////////////////////////3Lcc/9iuAP/YrgD/2K4A/9iuAP/YrgD/3LEA/8agBf82NCz/Pj9C//T0
+ 9P/////////////////////////////////////////////////Ozs7/ZmZm/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/KCQx/1pzHP+m4w//4POx////
+ //////////////////////////////////////////////////////////////////////+t////hP//
+ /////////////////////////////////////////////9y3Hf/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/gtAD/Z1ke/2lrcv//////////////////////////////////////////////////////////////
+ //++vr7/ZGRk/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/ygk
+ Mf93i0X/7PnL////////////////////////////////////////////////////////////////////
+ ////////////hP///1T////////////////////////////////////////////////euyr/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/4LQA/66OC/+Dg4b/////////////////////////////////////////
+ ///////////////////////////////////Pz8//hISE/0hISP8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/0JCQv+RkJX/9PXy////////////////////////////////////////////////////
+ /////////////////////////////////1b///8c////////////////////////////////////////
+ ////////48RG/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9mvAP/dsgD/kopq////////////////////
+ ///////////////////////////////////////////////////////////////////09PT/y8vL/6Ki
+ ov+Dg4P/cXFx/21tbf94eHj/kJCQ/7q6uv/v7+//////////////////////////////////////////
+ //////////////////////////////////////////////////////8d////AP///9f/////////////
+ /////////////////////////////+rTdP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4LQA/72f
+ Iv/09PT/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////Y////AP//
+ /wD///+P///////////////////////////////////////////06Lb/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/esgD/zsKO////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////kP///wD///8A////Ov///////////////////////////////////////////fvx/9y2
+ Gv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+G3Cf/578j/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////zr///8A////AP///wH////a////////////////////////
+ ///////////////////p0nD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/3bgh//r0
+ 3P//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////9v///8B////AP///wD///8A////dP//
+ ////////////////////////////////////////+fPZ/9mxCP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/duCH/9+7I////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////90////AP//
+ /wD///8A////AP///wz////t///////////////////////////////////////////oz2n/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9qyDf/x4qT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////t////Df///wD///8A////AP///wD///8A////f///////////////////////////////////
+ ////////+/fm/9u1Fv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+nQ
+ bP/8+u7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////f////wD///8A////AP///wD///8A////AP///xD////q////////
+ ///////////////////////////////////x4qX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/3ron//Hipf///v3/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////6v///xD///8A////AP///wD///8A////AP//
+ /wD///8A////YP///////////////////////////////////////////////+jPaf/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4cA5//HipP/9+/H/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////2H///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wH////D////////////////////////////////////////
+ ///+/fj/4sRE/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/3bgf/+fNY//x4qX/+PHT//367//+/vv////+////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /8P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////D/////////////
+ //////////////////////////////z57f/gvzX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9ivA//cthj/37wr//fuyv//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////D///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///9U////////////////////////////////////////////////+/jo/+C/Nf/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/48NH/////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////9V////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///4j/////////////////////////////////////////////
+ ///8+ev/4sND/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/btBP//Pns////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////+J////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////pP//////////////////
+ //////////////////////////////789v/nzGD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/37wt///+/P//////////////////////////////
+ //////////////////////////////////////////////////////////////////////+k////Af//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wb///+3/////////////////////////////////////////////////////+7bj//asQr/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+PGSv//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////Bv///6X/////////////////////////////////////////////
+ ////////9+7K/+HBO//YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/oz2n/////////////////////////////////////////////////////////////////////////
+ //////////////////////+l////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////jP//////////////////
+ ///////////////////////////////////+/fr/7t2T/924Hv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/7dqL////////////////////////////////////////////////////
+ //////////////////////////////////////+M////Af///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A2K4AANiu
+ AAD///9V////8f/////////////////////////////////////////////////////8+ev/7dmH/966
+ Jv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A//Plrv//////////////////////////////
+ //////////////////////////////////////////////////H///9VmtgAAJrYAAD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////ANiuAADYrgAA2K4AAP///yT////E////////////////////////////////////////
+ ///////////////////9/PT/8+av/+bLWv/duB7/2K4A/9iuAP/YrgD/2K4A/9iuAP/37sv/////////
+ /////////////////////////////////////////////////////////////////8T///8jmtgAAJrY
+ AACa2AAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wDYrgAA2K4AANiuAADYrgAA////Af///2D////r////////
+ /////////////////////////////////////////////////////////fvx//btxv/v3pf/6dJw/+TH
+ T//jxEX/+/jo////////////////////////////////////////////////////////////////6///
+ /2D///8BmtgAAJrYAACa2AAAmtgAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////EP///3/////t////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////t////f////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////Df///3T////V////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////9X///90////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /zP///+N////1///////////////////////////////////////////////////////////////////
+ ///////////////////////X////jf///zP///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8b////VP///33///+l////y////+P////y////////
+ ///////y////4////8v///+l////ff///1T///8b////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////4Af///////wAAD//////8AAAD/////+AAAAB/////wAAAAD////8AAAAAD////gAAAAA
+ H///4AAAAAAH///AAAAAAAP//4AAAAAAAf//AAAAAAAA//4AAAAAAAB//gAAAAAAAH/8AAAAAAAAP/gA
+ AAAAAAAf+AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB8AAAAAAAAADwAAAAAAA
+ AAOAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAPAAAAAAAAAA+AA
+ AAAAAAAH4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAP+AAAAAAAAB/4AAAAAAAAH/wAAAAAAAA//gAAAAAA
+ AH/+AAAAAAAAf/8AAAAAAAD//4AAAAAAAf//wAAAAAAD///gAAAAAAf///gAAAAAH////AAAAAA/////
+ AAAAAP/////AAAAD//////AAAA///////AAAP///////4Af///8=
+
+
+
\ No newline at end of file
diff --git a/Discord Media Loader/MainForm.Designer.cs b/Discord Media Loader/MainForm.Designer.cs
index bc07087..879ad82 100644
--- a/Discord Media Loader/MainForm.Designer.cs
+++ b/Discord Media Loader/MainForm.Designer.cs
@@ -28,11 +28,283 @@
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
+ this.lbPath = new System.Windows.Forms.Label();
+ this.btnSearch = new System.Windows.Forms.Button();
+ this.tbxPath = new System.Windows.Forms.TextBox();
+ this.dtpLimit = new System.Windows.Forms.DateTimePicker();
+ this.btnDownload = new System.Windows.Forms.Button();
+ this.cbLimitDate = new System.Windows.Forms.CheckBox();
+ this.lbThread = new System.Windows.Forms.Label();
+ this.cbChannels = new System.Windows.Forms.ComboBox();
+ this.nupThreadCount = new System.Windows.Forms.NumericUpDown();
+ this.lbChannel = new System.Windows.Forms.Label();
+ this.lbScanCount = new System.Windows.Forms.Label();
+ this.lbUsername = new System.Windows.Forms.Label();
+ this.lbDownload = new System.Windows.Forms.Label();
+ this.cbGuilds = new System.Windows.Forms.ComboBox();
+ this.lbGuild = new System.Windows.Forms.Label();
+ this.cbSkip = new System.Windows.Forms.CheckBox();
+ this.lbCopyright = new System.Windows.Forms.Label();
+ this.lbGithub = new System.Windows.Forms.LinkLabel();
+ this.lbAbout = new System.Windows.Forms.LinkLabel();
+ this.lbVersion = new System.Windows.Forms.Label();
+ ((System.ComponentModel.ISupportInitialize)(this.nupThreadCount)).BeginInit();
+ this.SuspendLayout();
+ //
+ // lbPath
+ //
+ this.lbPath.AutoSize = true;
+ this.lbPath.Location = new System.Drawing.Point(12, 110);
+ this.lbPath.Name = "lbPath";
+ this.lbPath.Size = new System.Drawing.Size(32, 13);
+ this.lbPath.TabIndex = 8;
+ this.lbPath.Text = "Path:";
+ //
+ // btnSearch
+ //
+ this.btnSearch.Location = new System.Drawing.Point(403, 105);
+ this.btnSearch.Name = "btnSearch";
+ this.btnSearch.Size = new System.Drawing.Size(25, 23);
+ this.btnSearch.TabIndex = 9;
+ this.btnSearch.Text = "...";
+ this.btnSearch.UseVisualStyleBackColor = true;
+ this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+ //
+ // tbxPath
+ //
+ this.tbxPath.Location = new System.Drawing.Point(50, 107);
+ this.tbxPath.Name = "tbxPath";
+ this.tbxPath.Size = new System.Drawing.Size(342, 20);
+ this.tbxPath.TabIndex = 7;
+ //
+ // dtpLimit
+ //
+ this.dtpLimit.Format = System.Windows.Forms.DateTimePickerFormat.Short;
+ this.dtpLimit.Location = new System.Drawing.Point(158, 70);
+ this.dtpLimit.Name = "dtpLimit";
+ this.dtpLimit.Size = new System.Drawing.Size(95, 20);
+ this.dtpLimit.TabIndex = 6;
+ //
+ // btnDownload
+ //
+ this.btnDownload.Location = new System.Drawing.Point(12, 167);
+ this.btnDownload.Name = "btnDownload";
+ this.btnDownload.Size = new System.Drawing.Size(415, 23);
+ this.btnDownload.TabIndex = 20;
+ this.btnDownload.Text = "Start downloading";
+ this.btnDownload.UseVisualStyleBackColor = true;
+ this.btnDownload.Click += new System.EventHandler(this.btnDownload_Click);
+ //
+ // cbLimitDate
+ //
+ this.cbLimitDate.AutoSize = true;
+ this.cbLimitDate.Checked = true;
+ this.cbLimitDate.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbLimitDate.Location = new System.Drawing.Point(15, 73);
+ this.cbLimitDate.Name = "cbLimitDate";
+ this.cbLimitDate.Size = new System.Drawing.Size(137, 17);
+ this.cbLimitDate.TabIndex = 5;
+ this.cbLimitDate.Text = "Only media posted after";
+ this.cbLimitDate.UseVisualStyleBackColor = true;
+ this.cbLimitDate.CheckedChanged += new System.EventHandler(this.cbLimitDate_CheckedChanged);
+ //
+ // lbThread
+ //
+ this.lbThread.AutoSize = true;
+ this.lbThread.Location = new System.Drawing.Point(12, 141);
+ this.lbThread.Name = "lbThread";
+ this.lbThread.Size = new System.Drawing.Size(64, 13);
+ this.lbThread.TabIndex = 11;
+ this.lbThread.Text = "Thread limit:";
+ //
+ // cbChannels
+ //
+ this.cbChannels.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbChannels.FormattingEnabled = true;
+ this.cbChannels.Location = new System.Drawing.Point(264, 32);
+ this.cbChannels.Name = "cbChannels";
+ this.cbChannels.Size = new System.Drawing.Size(164, 21);
+ this.cbChannels.TabIndex = 4;
+ //
+ // nupThreadCount
+ //
+ this.nupThreadCount.Location = new System.Drawing.Point(82, 139);
+ this.nupThreadCount.Name = "nupThreadCount";
+ this.nupThreadCount.Size = new System.Drawing.Size(70, 20);
+ this.nupThreadCount.TabIndex = 12;
+ this.nupThreadCount.Value = new decimal(new int[] {
+ 50,
+ 0,
+ 0,
+ 0});
+ //
+ // lbChannel
+ //
+ this.lbChannel.AutoSize = true;
+ this.lbChannel.Location = new System.Drawing.Point(224, 38);
+ this.lbChannel.Name = "lbChannel";
+ this.lbChannel.Size = new System.Drawing.Size(34, 13);
+ this.lbChannel.TabIndex = 3;
+ this.lbChannel.Text = "Guild:";
+ //
+ // lbScanCount
+ //
+ this.lbScanCount.AutoSize = true;
+ this.lbScanCount.Location = new System.Drawing.Point(12, 203);
+ this.lbScanCount.Name = "lbScanCount";
+ this.lbScanCount.Size = new System.Drawing.Size(102, 13);
+ this.lbScanCount.TabIndex = 13;
+ this.lbScanCount.Text = "Messages scanned:";
+ //
+ // lbUsername
+ //
+ this.lbUsername.AutoSize = true;
+ this.lbUsername.Location = new System.Drawing.Point(12, 9);
+ this.lbUsername.Name = "lbUsername";
+ this.lbUsername.Size = new System.Drawing.Size(58, 13);
+ this.lbUsername.TabIndex = 2;
+ this.lbUsername.Text = "Username:";
+ //
+ // lbDownload
+ //
+ this.lbDownload.AutoSize = true;
+ this.lbDownload.Location = new System.Drawing.Point(234, 203);
+ this.lbDownload.Name = "lbDownload";
+ this.lbDownload.Size = new System.Drawing.Size(92, 13);
+ this.lbDownload.TabIndex = 14;
+ this.lbDownload.Text = "Files downloaded:";
+ //
+ // cbGuilds
+ //
+ this.cbGuilds.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbGuilds.FormattingEnabled = true;
+ this.cbGuilds.Location = new System.Drawing.Point(52, 32);
+ this.cbGuilds.Name = "cbGuilds";
+ this.cbGuilds.Size = new System.Drawing.Size(164, 21);
+ this.cbGuilds.TabIndex = 1;
+ this.cbGuilds.SelectedIndexChanged += new System.EventHandler(this.cbGuilds_SelectedIndexChanged);
+ //
+ // lbGuild
+ //
+ this.lbGuild.AutoSize = true;
+ this.lbGuild.Location = new System.Drawing.Point(12, 35);
+ this.lbGuild.Name = "lbGuild";
+ this.lbGuild.Size = new System.Drawing.Size(34, 13);
+ this.lbGuild.TabIndex = 0;
+ this.lbGuild.Text = "Guild:";
+ //
+ // cbSkip
+ //
+ this.cbSkip.AutoSize = true;
+ this.cbSkip.Checked = true;
+ this.cbSkip.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbSkip.Location = new System.Drawing.Point(227, 141);
+ this.cbSkip.Name = "cbSkip";
+ this.cbSkip.Size = new System.Drawing.Size(106, 17);
+ this.cbSkip.TabIndex = 16;
+ this.cbSkip.Text = "Skip existing files";
+ this.cbSkip.UseVisualStyleBackColor = true;
+ //
+ // lbCopyright
+ //
+ this.lbCopyright.AutoSize = true;
+ this.lbCopyright.Location = new System.Drawing.Point(12, 274);
+ this.lbCopyright.Name = "lbCopyright";
+ this.lbCopyright.Size = new System.Drawing.Size(151, 13);
+ this.lbCopyright.TabIndex = 22;
+ this.lbCopyright.Text = "Copyright (c) 2017 by Serraniel";
+ //
+ // lbGithub
+ //
+ this.lbGithub.AutoSize = true;
+ this.lbGithub.Location = new System.Drawing.Point(169, 274);
+ this.lbGithub.Name = "lbGithub";
+ this.lbGithub.Size = new System.Drawing.Size(40, 13);
+ this.lbGithub.TabIndex = 23;
+ this.lbGithub.TabStop = true;
+ this.lbGithub.Text = "GitHub";
+ this.lbGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lbGithub_LinkClicked);
+ //
+ // lbAbout
+ //
+ this.lbAbout.AutoSize = true;
+ this.lbAbout.Location = new System.Drawing.Point(223, 274);
+ this.lbAbout.Name = "lbAbout";
+ this.lbAbout.Size = new System.Drawing.Size(35, 13);
+ this.lbAbout.TabIndex = 24;
+ this.lbAbout.TabStop = true;
+ this.lbAbout.Text = "About";
+ this.lbAbout.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lbAbout_LinkClicked);
+ //
+ // lbVersion
+ //
+ this.lbVersion.Location = new System.Drawing.Point(328, 274);
+ this.lbVersion.Name = "lbVersion";
+ this.lbVersion.Size = new System.Drawing.Size(100, 13);
+ this.lbVersion.TabIndex = 25;
+ this.lbVersion.Text = "version";
+ this.lbVersion.TextAlign = System.Drawing.ContentAlignment.TopRight;
+ //
+ // MainForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Text = "MainForm";
+ this.ClientSize = new System.Drawing.Size(439, 296);
+ this.Controls.Add(this.lbVersion);
+ this.Controls.Add(this.lbAbout);
+ this.Controls.Add(this.lbGithub);
+ this.Controls.Add(this.lbCopyright);
+ this.Controls.Add(this.cbSkip);
+ this.Controls.Add(this.lbDownload);
+ this.Controls.Add(this.lbScanCount);
+ this.Controls.Add(this.nupThreadCount);
+ this.Controls.Add(this.lbThread);
+ this.Controls.Add(this.btnDownload);
+ this.Controls.Add(this.tbxPath);
+ this.Controls.Add(this.lbPath);
+ this.Controls.Add(this.btnSearch);
+ this.Controls.Add(this.dtpLimit);
+ this.Controls.Add(this.cbLimitDate);
+ this.Controls.Add(this.cbChannels);
+ this.Controls.Add(this.lbChannel);
+ this.Controls.Add(this.lbUsername);
+ this.Controls.Add(this.cbGuilds);
+ this.Controls.Add(this.lbGuild);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Name = "MainForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "Discord Media Loader";
+ this.Shown += new System.EventHandler(this.MainForm_Shown);
+ ((System.ComponentModel.ISupportInitialize)(this.nupThreadCount)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
}
#endregion
+
+ private System.Windows.Forms.Label lbPath;
+ private System.Windows.Forms.Button btnSearch;
+ private System.Windows.Forms.TextBox tbxPath;
+ private System.Windows.Forms.DateTimePicker dtpLimit;
+ private System.Windows.Forms.Button btnDownload;
+ private System.Windows.Forms.CheckBox cbLimitDate;
+ private System.Windows.Forms.Label lbThread;
+ private System.Windows.Forms.ComboBox cbChannels;
+ private System.Windows.Forms.NumericUpDown nupThreadCount;
+ private System.Windows.Forms.Label lbChannel;
+ private System.Windows.Forms.Label lbScanCount;
+ private System.Windows.Forms.Label lbUsername;
+ private System.Windows.Forms.Label lbDownload;
+ private System.Windows.Forms.ComboBox cbGuilds;
+ private System.Windows.Forms.Label lbGuild;
+ private System.Windows.Forms.CheckBox cbSkip;
+ private System.Windows.Forms.Label lbCopyright;
+ private System.Windows.Forms.LinkLabel lbGithub;
+ private System.Windows.Forms.LinkLabel lbAbout;
+ private System.Windows.Forms.Label lbVersion;
}
}
\ No newline at end of file
diff --git a/Discord Media Loader/MainForm.cs b/Discord Media Loader/MainForm.cs
index ac1598f..957aa1e 100644
--- a/Discord Media Loader/MainForm.cs
+++ b/Discord Media Loader/MainForm.cs
@@ -1,20 +1,297 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
+using System.Diagnostics;
+using System.IO;
using System.Linq;
-using System.Text;
+using System.Net;
+using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
+using Discord;
+using Discord.Net;
+using ConnectionState = Discord.ConnectionState;
namespace Discord_Media_Loader
{
public partial class MainForm : Form
{
+ private DiscordClient Client { get; } = new DiscordClient();
+ private event EventHandler UpdateProgress;
+ private static readonly DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public MainForm()
{
InitializeComponent();
+
+ UpdateProgress += (s, e) =>
+ {
+ SetControlPropertyThreadSafe(lbDownload, "Text", $"Files downloaded: {e.Downloaded}");
+ SetControlPropertyThreadSafe(lbScanCount, "Text", $"Messages scanned: {e.Scanned}");
+ };
+ }
+
+ private delegate void SetControlPropertyThreadSafeDelegate(Control control, string propertyName, object propertyValue);
+
+ private static void SetControlPropertyThreadSafe(Control control, string propertyName, object propertyValue)
+ {
+ if (control.InvokeRequired)
+ {
+ control.Invoke(new SetControlPropertyThreadSafeDelegate(SetControlPropertyThreadSafe), control, propertyName, propertyValue);
+
+ }
+ else
+ {
+ control.GetType().InvokeMember(propertyName, BindingFlags.SetProperty, null, control, new[] { propertyValue });
+ }
+ }
+
+ public async Task Login()
+ {
+ var email = Properties.Settings.Default.email;
+ var abort = false;
+
+ while (Client.State != ConnectionState.Connected && !abort)
+ {
+ string password;
+
+ if (LoginForm.Exec(ref email, out password))
+ {
+ try
+ {
+ Cursor = Cursors.WaitCursor;
+ try
+ {
+ await Client.Connect(email, password);
+
+ Properties.Settings.Default.email = email;
+ Properties.Settings.Default.Save();
+ }
+ finally
+ {
+ Cursor = Cursors.Default;
+ }
+ }
+ catch (HttpException)
+ {
+ // ignore http exception on invalid login
+ }
+ }
+ else
+ {
+ abort = true;
+ }
+ }
+
+ return !abort;
+ }
+
+ private async void MainForm_Shown(object sender, EventArgs e)
+ {
+ lbVersion.Text = $"v{Assembly.GetExecutingAssembly().GetName().Version}";
+
+ SetEnabled(false);
+
+ if (!await Login())
+ {
+ Close();
+ }
+ else
+ {
+ cbGuilds.Items.AddRange((from g in Client.Servers orderby g.Name select g.Name).ToArray());
+ cbGuilds.SelectedIndex = 0;
+ lbUsername.Text = $"Username: {Client.CurrentUser.Name}#{Client.CurrentUser.Discriminator}";
+
+ SetEnabled(true);
+ }
+ }
+
+ private Server FindServerByName(string name)
+ {
+ return (from s in Client.Servers where s.Name == name select s).FirstOrDefault();
+ }
+
+ private Channel FindChannelByName(Server server, string name)
+ {
+ return (from c in server.TextChannels where c.Name == name select c).FirstOrDefault();
+ }
+
+ private void SetEnabled(bool enabled)
+ {
+ foreach (Control c in Controls)
+ {
+ SetControlPropertyThreadSafe(c, "Enabled", enabled);
+ //c.Enabled = enabled;
+ }
+ }
+
+ private void cbGuilds_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Cursor = Cursors.WaitCursor;
+ try
+ {
+ Server guild = FindServerByName(cbGuilds.Text);
+
+ if (guild != null)
+ {
+ cbChannels.Items.Clear();
+ cbChannels.Items.AddRange((from c in guild.TextChannels orderby c.Position select c.Name).ToArray());
+
+ cbChannels.SelectedIndex = 0;
+ }
+ }
+ finally
+ {
+ Cursor = Cursors.Default;
+ }
+ }
+
+ private void cbLimitDate_CheckedChanged(object sender, EventArgs e)
+ {
+ dtpLimit.Enabled = cbLimitDate.Checked;
+ }
+
+ private void btnSearch_Click(object sender, EventArgs e)
+ {
+ var dlg = new FolderBrowserDialog();
+ if (dlg.ShowDialog() == DialogResult.OK)
+ {
+ tbxPath.Text = dlg.SelectedPath;
+ }
+ }
+
+ private void OnUpdateProgress(UpdateProgessEventArgs e)
+ {
+ EventHandler handler = UpdateProgress;
+ handler?.Invoke(this, e);
+ }
+
+ private static long DateTimeToUnixTimeStamp(DateTime dateTime)
+ {
+ TimeSpan elapsedTime = dateTime - Epoch;
+ return (long)elapsedTime.TotalSeconds;
+ }
+
+
+ private void btnDownload_Click(object sender, EventArgs e)
+ {
+ var path = tbxPath.Text;
+ var useStopDate = cbLimitDate.Checked;
+ var stopDate = dtpLimit.Value;
+ var threadLimit = nupThreadCount.Value;
+ var skipExisting = cbSkip.Checked;
+
+ if (!Directory.Exists(path))
+ {
+ MessageBox.Show("Please enter an existing directory.");
+ return;
+ }
+
+ SetEnabled(false);
+
+ var guild = FindServerByName(cbGuilds.Text);
+ var channel = FindChannelByName(guild, cbChannels.Text);
+
+ var clients = new List();
+
+ var limit = 100;
+ var stop = false;
+ var lastId = ulong.MaxValue;
+ var isFirst = true;
+
+ ulong msgScanCount = 0;
+ ulong downloadCount = 0;
+ var locker = new object();
+
+ Task.Run(async () =>
+ {
+
+ while (!stop)
+ {
+ Discord.Message[] messages;
+
+ if (isFirst)
+ messages = await channel.DownloadMessages(limit, null);
+ else
+ messages = await channel.DownloadMessages(limit, lastId);
+
+ isFirst = false;
+
+ foreach (var m in messages)
+ {
+ if (m.Id < lastId)
+ lastId = m.Id;
+
+ if (useStopDate && m.Timestamp < stopDate.Date)
+ {
+ stop = true;
+ continue;
+ }
+
+ foreach (var a in m.Attachments)
+ {
+ if (!path.EndsWith(@"\"))
+ path += @"\";
+
+ var fname = $"{guild.Name}_{channel.Name}_{DateTimeToUnixTimeStamp(m.Timestamp)}_{a.Filename}";
+ fname = Path.GetInvalidFileNameChars().Aggregate(fname, (current, c) => current.Replace(c, '-'));
+ fname = path + fname;
+
+ if (skipExisting && File.Exists(fname))
+ continue;
+
+ while (clients.Count >= threadLimit)
+ {
+ // wait
+ }
+ var wc = new WebClient();
+ clients.Add(wc);
+
+ wc.DownloadFileCompleted += (wcSender, wcE) =>
+ {
+ clients.Remove(wc);
+ lock (locker)
+ {
+ downloadCount++;
+ OnUpdateProgress(new UpdateProgessEventArgs() { Downloaded = downloadCount, Scanned = msgScanCount });
+ }
+ };
+
+ wc.DownloadFileAsync(new Uri(a.Url), fname);
+ }
+
+ msgScanCount++;
+ OnUpdateProgress(new UpdateProgessEventArgs() { Downloaded = downloadCount, Scanned = msgScanCount});
+ }
+
+ stop = stop || messages.Length < limit;
+ }
+
+ await Task.Run(() =>
+ {
+ while (clients.Count > 0)
+ {
+ // wait until download finished
+ }
+ });
+
+ Process.Start(path);
+ SetEnabled(true);
+ });
+ }
+
+ private void lbGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ Process.Start("https://github.com/Serraniel/DiscordMediaLoader/releases");
+ }
+
+ private void lbAbout_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ MessageBox.Show(Properties.Resources.AboutString);
}
}
+
+ internal class UpdateProgessEventArgs : EventArgs
+ {
+ internal ulong Scanned { get; set; }
+ internal ulong Downloaded { get; set; }
+ }
}
diff --git a/Discord Media Loader/MainForm.resx b/Discord Media Loader/MainForm.resx
new file mode 100644
index 0000000..88e8a1f
--- /dev/null
+++ b/Discord Media Loader/MainForm.resx
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b////VP///3////+m////zP//
+ /+T////1//////////r////u////3f///8z///+m////f////1T///8b////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////5D////b////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /9v///+Q////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///90////1v//
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////W////dP///w3///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A2K4AANiuAADYrgAA2K4AANiuAADfswAA////EP//
+ /4D////t////////////////////////////////////////////////9/zq/7XiQ/+340n/w+ho/9Pu
+ kf/m9b//+Pzt///////////////////////////////////////////////////////////t////gf//
+ /xCa2AAAmtgAAJrYAACa2AAAmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANiuAADYrgAA2K4AANiu
+ AAD///8B////Yf///+v//////////////////////////////////////////////////////////+z4
+ z/+a2AD/mtgA/5rYAP+a2AD/mtgA/6TcGf+65VL/3fKo//n98P//////////////////////////////
+ ///////////////////////r////Yf///wGa2AAAmtgAAJrYAACa2AAA////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wDYrgAA2K4AANiuAAD///8k////xP//////////////////////////////////////////////////
+ ///////////////////h87P/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+n3SD/zOt+//X7
+ 5v/////////////////////////////////////////////////////E////I5rYAACa2AAAmtgAAP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A2K4AANiuAAD///9V////8f//////////////////////////////////
+ ////////////////////////////////////////0+6Q/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+k3Bn/0e2K//v+9v//////////////////////////////////////////////
+ //H///9VmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+M////////////////////////
+ /////////////////////////////////////////////////////////////8bpbv+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+u4DP/5/bD////////////////////
+ /////////////////////////////////4z///8B////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+l////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+55E//mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5zZ
+ Bv/P7Ib/////////////////////////////////////////////////////pf///wb///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wb///+3////////////////////////////////////////////////////////////////////////
+ ///////////////////+//3/rd8x/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/7zlV//5/fH/////////////////////////////////////////
+ //////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wH///+k////////////////////////////////////////////////////////
+ ////////////////////////////////////////+f3v/6PcF/+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/seE7//X75v//////////////
+ /////////////////////////////////6T///8B////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///+K////////////////////////////////////////
+ /////////////////////////////////////////////////////////////+751f+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+s3y7/9Pvi////////////////////////////////////////////////i////wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///s+M//rd8w/6XcHf+c2Qb/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/6zfLv/1++f/////////////////////////////////////////
+ //////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////8P//
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////v/6/fL/8PnZ/97yrP/E6Gv/qd4l/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/suE8//v99P//////////////
+ ////////////////////////////8P///yP///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8B////xP//////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////////////v9
+ 9f/e8qz/s+JA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP/A51/////////////////////////////////////////////////E////Af///wD///8A////AP//
+ /wD///8A////AP///wD///8A////Yf//////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////f867/rN8t/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/9jwnP//////////////////////////////////////////////
+ /2H///8A////AP///wD///8A////AP///wD///8A////EP///+r/////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////r98//I6nX/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+h2xL/8/rh////////////////////
+ ///////////////////////q////Ev///wD///8A////AP///wD///8A////AP///3//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////9/yrf+h2xL/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8Dn
+ X////////////////////////////////////////////////4D///8A////AP///wD///8A////AP//
+ /w3////u////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////7PjQ/6reKP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+c2QX/7vjT///////////////////////////////////////////u////Df//
+ /wD///8A////AP///wD///90////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////0++L/qd4n/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8PoaP//////////////////////////////
+ /////////////////3T///8A////AP///wD///8B////2///////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+360P+k4g3/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+j2xb/+Pzu////
+ ///////////////////////////////////////b////Af///wD///8A////O///////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////wNCY/53dAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+a2AD/mtgA/9/zr////////////////////////////////////////////////zv///8A////AP//
+ /5D/////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////f39/+Puin/n+AA/5rY
+ AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP/F6W3/////////////////////////////////////////
+ //////+Q////AP///wD////Y////////////////////////////////////////////////////////
+ /////////////////////////////+3t7f+3t7f/jIyM/3Nzc/9oaGj/a2tr/35+fv+dnZ3/xsbG//Hx
+ 8f//////////////////////////////////////////////////////////////////////////////
+ ////////iZNy/5zbAP+b2QD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/s+JA////////////////////
+ ////////////////////////////2f///wD///8d////////////////////////////////////////
+ ////////////////////////////////////////9fTx/46Pk/9BQUH/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv9ERET/fn5+/8rKyv//////////////////////////////////////////////
+ /////////////////////////////4iHjP98qA3/n+AA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6ne
+ J/////////////////////////////////////////////////////8e////Vv//////////////////
+ ////////////////////////////////////////////////////////+fDL/45/Qv8kJjH/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Xl5e/7e3t//+/v7/////////
+ //////////////////////////////////////////////////9vbXX/T2Ig/57fAP+a2QD/mtgA/5rY
+ AP+a2AD/mtgA/5rYAP+l3Bz/////////////////////////////////////////////////////Vv//
+ /4T/////////////////////////////////////////////////////////////////////8+ax/+O5
+ D/92ZBv/JCYx/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/YGBg/8jIyP/////////////////////////////////////////////////09PT/QkJE/zEz
+ Lf+Mwgb/nd0A/5rYAP+a2AD/mtgA/5rYAP+a2AD/pdwb////////////////////////////////////
+ /////////////////4T///+t////////////////////////////////////////////////////////
+ ////////8+ez/9mwB//htQD/dWMb/yQnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/dHR0/97e3v//////////////////////////////
+ ////////r6+v/y4uLv8nIzH/bZET/6HiAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6neJv//////////////
+ //////////////////////////////////////+t////zP//////////////////////////////////
+ ////////////////////////+PHS/9qyDv/YrgD/4rUA/3lmGf8kJjH/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Ozs7/1ZWVv90dHT/jo6O/5mZmf/Hx8f//v7+////
+ ////////////////////////7+/v/0dHR/8uLi7/KCUw/1BkH/+f4AD/mtgA/5rYAP+a2AD/mtgA/5rY
+ AP+z4T7/////////////////////////////////////////////////////zP///+X/////////////
+ /////////////////////////////////////////v35/+C/N//YrgD/2K4A/+O2AP+Dbhf/IyYx/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/1VVVf+QkJD/xsbG/+rq6v//////////////
+ ////////////////////////////////////////+vr6/2tra/8uLi7/Li4u/yspL/86Qij/ltEC/5va
+ AP+a2AD/mtgA/5rYAP+a2AD/x+ly////////////////////////////////////////////////////
+ /+D////y//////////////////////////////////////////////////////Dfm//YrgD/2K4A/9iu
+ AP/itQD/k3oT/yUnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/cHBw/8bGxv/8/Pz/////////
+ ////////////////////////////////////////////////////////7+/v/3BwcP8uLi7/Li4u/y4u
+ Lv8tLC7/Ly8u/4e7CP+e3gD/mtgA/5rYAP+a2AD/mtgA/+X1vf//////////////////////////////
+ ///////////////////////s//////////////////////////////////////////////////////79
+ +f/euyr/2K4A/9iuAP/YrgD/4LQA/6iKDf8oKTD/Li4u/y4uLv8uLi7/Li4u/y4uLv9QUFD/xMTE////
+ ////////////////////////////////////////////////////////////////////////w8PD/1BQ
+ UP8uLi7/Li4u/y4uLv8uLi7/Li4u/yknMP95pA7/n+EA/5rYAP+a2AD/mtgA/6neJ//8/vj/////////
+ ////////////////////////////////////////////+f//////////////////////////////////
+ ///////////////////168D/2K4A/9iuAP/YrgD/2K4A/92yAP+/mwf/MTAt/ywtLv8uLi7/Li4u/y4u
+ Lv9wcHD/8PDw//////////////////////////////////////////////////////////////////r6
+ +v/ExMT/bm5u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/a44U/6HiAP+a2AD/mtgA/5rY
+ AP/W75j///////////////////////////////////////////////////////////n////y////////
+ ////////////////////////////////////////6tR3/9iuAP/YrgD/2K4A/9iuAP/arwD/06oB/0VA
+ J/8pKi//Li4u/y4uLv9ra2v/+vr6//////////////////////////////////////////////////39
+ /f/n5+f/wsLC/4yMjP9SUlL/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/JyMx/2F+
+ GP+h4wD/mtgA/5rYAP+v4DX//P74////////////////////////////////////////////////////
+ ///////s////5f///////////////////////////////////////////////+LDQv/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/+C0AP9oWh7/JCcx/y4uLv9GRkb/7u7u/////////////////////////////v7+/8fH
+ x/+VlZX/iYmJ/3BwcP9TU1P/OTk5/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/ygkMf9bdRv/oOEA/5rYAP+g2g7/7fjR////////////////////////////////////
+ ////////////////////////////4P///8z/////////////////////////////////////////////
+ ///euyj/2K4A/9iuAP/YrgD/2K4A/9iuAP/itQD/ln0S/yQnMf8uLi7/ra2t////////////////////
+ ///////////////////i4uL/e3t7/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/WXEc/6DhAP+d2Qf/4fOy////////////////////
+ /////////////////////////////////////////////////8z///+t////////////////////////
+ ////////////////////////3Lcc/9iuAP/YrgD/2K4A/9iuAP/YrgD/3LEA/8agBf82NCz/Pj9C//T0
+ 9P/////////////////////////////////////////////////Ozs7/ZmZm/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/KCQx/1pzHP+m4w//4POx////
+ //////////////////////////////////////////////////////////////////////+t////hP//
+ /////////////////////////////////////////////9y3Hf/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/gtAD/Z1ke/2lrcv//////////////////////////////////////////////////////////////
+ //++vr7/ZGRk/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/ygk
+ Mf93i0X/7PnL////////////////////////////////////////////////////////////////////
+ ////////////hP///1T////////////////////////////////////////////////euyr/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/4LQA/66OC/+Dg4b/////////////////////////////////////////
+ ///////////////////////////////////Pz8//hISE/0hISP8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
+ Lv8uLi7/Li4u/0JCQv+RkJX/9PXy////////////////////////////////////////////////////
+ /////////////////////////////////1b///8c////////////////////////////////////////
+ ////////48RG/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9mvAP/dsgD/kopq////////////////////
+ ///////////////////////////////////////////////////////////////////09PT/y8vL/6Ki
+ ov+Dg4P/cXFx/21tbf94eHj/kJCQ/7q6uv/v7+//////////////////////////////////////////
+ //////////////////////////////////////////////////////8d////AP///9f/////////////
+ /////////////////////////////+rTdP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4LQA/72f
+ Iv/09PT/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////////Y////AP//
+ /wD///+P///////////////////////////////////////////06Lb/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/esgD/zsKO////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////kP///wD///8A////Ov///////////////////////////////////////////fvx/9y2
+ Gv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+G3Cf/578j/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////zr///8A////AP///wH////a////////////////////////
+ ///////////////////p0nD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/3bgh//r0
+ 3P//////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////9v///8B////AP///wD///8A////dP//
+ ////////////////////////////////////////+fPZ/9mxCP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/duCH/9+7I////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////////////90////AP//
+ /wD///8A////AP///wz////t///////////////////////////////////////////oz2n/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9qyDf/x4qT/////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////t////Df///wD///8A////AP///wD///8A////f///////////////////////////////////
+ ////////+/fm/9u1Fv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+nQ
+ bP/8+u7/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////f////wD///8A////AP///wD///8A////AP///xD////q////////
+ ///////////////////////////////////x4qX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/3ron//Hipf///v3/////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////6v///xD///8A////AP///wD///8A////AP//
+ /wD///8A////YP///////////////////////////////////////////////+jPaf/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4cA5//HipP/9+/H/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////2H///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wH////D////////////////////////////////////////
+ ///+/fj/4sRE/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/3bgf/+fNY//x4qX/+PHT//367//+/vv////+////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /8P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////D/////////////
+ //////////////////////////////z57f/gvzX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9ivA//cthj/37wr//fuyv//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////D///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///9U////////////////////////////////////////////////+/jo/+C/Nf/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/48NH/////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////9V////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///4j/////////////////////////////////////////////
+ ///8+ev/4sND/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/btBP//Pns////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////+J////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////pP//////////////////
+ //////////////////////////////789v/nzGD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/37wt///+/P//////////////////////////////
+ //////////////////////////////////////////////////////////////////////+k////Af//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wb///+3/////////////////////////////////////////////////////+7bj//asQr/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+PGSv//////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////Bv///6X/////////////////////////////////////////////
+ ////////9+7K/+HBO//YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/oz2n/////////////////////////////////////////////////////////////////////////
+ //////////////////////+l////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////jP//////////////////
+ ///////////////////////////////////+/fr/7t2T/924Hv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
+ AP/YrgD/2K4A/9iuAP/YrgD/7dqL////////////////////////////////////////////////////
+ //////////////////////////////////////+M////Af///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A2K4AANiu
+ AAD///9V////8f/////////////////////////////////////////////////////8+ev/7dmH/966
+ Jv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A//Plrv//////////////////////////////
+ //////////////////////////////////////////////////H///9VmtgAAJrYAAD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////ANiuAADYrgAA2K4AAP///yT////E////////////////////////////////////////
+ ///////////////////9/PT/8+av/+bLWv/duB7/2K4A/9iuAP/YrgD/2K4A/9iuAP/37sv/////////
+ /////////////////////////////////////////////////////////////////8T///8jmtgAAJrY
+ AACa2AAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wDYrgAA2K4AANiuAADYrgAA////Af///2D////r////////
+ /////////////////////////////////////////////////////////fvx//btxv/v3pf/6dJw/+TH
+ T//jxEX/+/jo////////////////////////////////////////////////////////////////6///
+ /2D///8BmtgAAJrYAACa2AAAmtgAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////EP///3/////t////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ///////t////f////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////Df///3T////V////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////////9X///90////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /zP///+N////1///////////////////////////////////////////////////////////////////
+ ///////////////////////X////jf///zP///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8b////VP///33///+l////y////+P////y////////
+ ///////y////4////8v///+l////ff///1T///8b////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////4Af///////wAAD//////8AAAD/////+AAAAB/////wAAAAD////8AAAAAD////gAAAAA
+ H///4AAAAAAH///AAAAAAAP//4AAAAAAAf//AAAAAAAA//4AAAAAAAB//gAAAAAAAH/8AAAAAAAAP/gA
+ AAAAAAAf+AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB8AAAAAAAAADwAAAAAAA
+ AAOAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAPAAAAAAAAAA+AA
+ AAAAAAAH4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAP+AAAAAAAAB/4AAAAAAAAH/wAAAAAAAA//gAAAAAA
+ AH/+AAAAAAAAf/8AAAAAAAD//4AAAAAAAf//wAAAAAAD///gAAAAAAf///gAAAAAH////AAAAAA/////
+ AAAAAP/////AAAAD//////AAAA///////AAAP///////4Af///8=
+
+
+
\ No newline at end of file
diff --git a/Discord Media Loader/Program.cs b/Discord Media Loader/Program.cs
index a3a1342..837140a 100644
--- a/Discord Media Loader/Program.cs
+++ b/Discord Media Loader/Program.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using System.Windows.Forms;
namespace Discord_Media_Loader
diff --git a/Discord Media Loader/Properties/AssemblyInfo.cs b/Discord Media Loader/Properties/AssemblyInfo.cs
index c941cf7..5dacbc3 100644
--- a/Discord Media Loader/Properties/AssemblyInfo.cs
+++ b/Discord Media Loader/Properties/AssemblyInfo.cs
@@ -1,5 +1,4 @@
using System.Reflection;
-using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
@@ -10,7 +9,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Discord Media Loader")]
-[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyCopyright("Copyright © 2017 by Serraniel")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +31,5 @@ using System.Runtime.InteropServices;
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.1.0.51")]
+[assembly: AssemblyFileVersion("0.1.0.51")]
diff --git a/Discord Media Loader/Properties/Resources.Designer.cs b/Discord Media Loader/Properties/Resources.Designer.cs
index 4fb9e89..116551a 100644
--- a/Discord Media Loader/Properties/Resources.Designer.cs
+++ b/Discord Media Loader/Properties/Resources.Designer.cs
@@ -1,71 +1,79 @@
//------------------------------------------------------------------------------
//
// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion: 4.0.30319.42000
+// Laufzeitversion:4.0.30319.42000
//
-// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
-// der Code neu generiert wird.
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
//
//------------------------------------------------------------------------------
-namespace Discord_Media_Loader.Properties
-{
-
-
+namespace Discord_Media_Loader.Properties {
+ using System;
+
+
///
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
///
- // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse
- // über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
+ // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Discord_Media_Loader.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.
+ /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
+
+ ///
+ /// Sucht eine lokalisierte Zeichenfolge, die Discord Media Loader by Serraniel - Apache 2.0 License
+ ///https://github.com/Serraniel/DiscordMediaLoader/
+ ///
+ ///Made with:
+ ///Discord.Net (Copyright (c) 2015 RogueException - MIT License)
+ ///Newtonsoft.Json (Copyright (c) 2007 James Newton-King - MIT License)
+ ///Nito.AsyncEx (Copyright (c) 2014 StephenCleary - MIT License)
+ ///WebSocket4Net (Copyright (c) kerryjiang - Apache 2.0 License) ähnelt.
+ ///
+ internal static string AboutString {
+ get {
+ return ResourceManager.GetString("AboutString", resourceCulture);
+ }
+ }
}
}
diff --git a/Discord Media Loader/Properties/Resources.resx b/Discord Media Loader/Properties/Resources.resx
index af7dbeb..03f47a6 100644
--- a/Discord Media Loader/Properties/Resources.resx
+++ b/Discord Media Loader/Properties/Resources.resx
@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
+
@@ -68,9 +69,10 @@
-
+
+
@@ -85,9 +87,10 @@
-
+
+
@@ -109,9 +112,19 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Discord Media Loader by Serraniel - Apache 2.0 License
+https://github.com/Serraniel/DiscordMediaLoader/
+
+Made with:
+Discord.Net (Copyright (c) 2015 RogueException - MIT License)
+Newtonsoft.Json (Copyright (c) 2007 James Newton-King - MIT License)
+Nito.AsyncEx (Copyright (c) 2014 StephenCleary - MIT License)
+WebSocket4Net (Copyright (c) kerryjiang - Apache 2.0 License)
+
\ No newline at end of file
diff --git a/Discord Media Loader/Properties/Settings.Designer.cs b/Discord Media Loader/Properties/Settings.Designer.cs
index c7eab6a..89a3e69 100644
--- a/Discord Media Loader/Properties/Settings.Designer.cs
+++ b/Discord Media Loader/Properties/Settings.Designer.cs
@@ -1,30 +1,38 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
//
//------------------------------------------------------------------------------
-namespace Discord_Media_Loader.Properties
-{
-
-
+namespace Discord_Media_Loader.Properties {
+
+
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
- {
-
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default
- {
- get
- {
+
+ public static Settings Default {
+ get {
return defaultInstance;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("")]
+ public string email {
+ get {
+ return ((string)(this["email"]));
+ }
+ set {
+ this["email"] = value;
+ }
+ }
}
}
diff --git a/Discord Media Loader/Properties/Settings.settings b/Discord Media Loader/Properties/Settings.settings
index 3964565..1b74a55 100644
--- a/Discord Media Loader/Properties/Settings.settings
+++ b/Discord Media Loader/Properties/Settings.settings
@@ -1,7 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Discord Media Loader/Serraniel-64x64.ico b/Discord Media Loader/Serraniel-64x64.ico
new file mode 100644
index 0000000..485aa3e
Binary files /dev/null and b/Discord Media Loader/Serraniel-64x64.ico differ