From c2d3f17fd76535a9fd3451820fac7a12fae08517 Mon Sep 17 00:00:00 2001
From: Pusheon <59923820+Pusheon@users.noreply.github.com>
Date: Thu, 29 Sep 2022 16:35:55 -0400
Subject: [PATCH] Rewrite and make clientid work proper
---
LICENSE | 21 -
LICENSE.md | 340 ++
PresenceClient/.editorconfig | 4 +
PresenceClient/.gitignore | 352 ++
.../.idea.PresenceClient/.idea/.gitignore | 13 +
.../.idea.PresenceClient/.idea/discord.xml | 7 +
.../.idea.PresenceClient/.idea/encodings.xml | 4 +
.../.idea/indexLayout.xml | 8 +
.../.idea/.idea.PresenceClient/.idea/vcs.xml | 6 +
.../PresenceClient-CLI/ConsoleOptions.cs | 17 +
PresenceClient/PresenceClient-CLI/Icon.ico | Bin 0 -> 101107 bytes
.../PresenceClient-CLI.csproj | 20 +
PresenceClient/PresenceClient-CLI/Program.cs | 145 +
.../PresenceClient-GUI/.editorconfig | 412 ++
PresenceClient/PresenceClient-GUI/App.config | 14 +
PresenceClient/PresenceClient-GUI/Config.cs | 7 +
.../PresenceClient-GUI/MainForm.Designer.cs | 341 ++
PresenceClient/PresenceClient-GUI/MainForm.cs | 374 ++
.../PresenceClient-GUI/MainForm.resx | 3384 +++++++++++++++++
.../PresenceClient-GUI.csproj | 137 +
PresenceClient/PresenceClient-GUI/Program.cs | 18 +
.../Properties/AssemblyInfo.cs | 35 +
.../Properties/Resources.Designer.cs | 89 +
.../Properties/Resources.resx | 127 +
.../Properties/Settings.Designer.cs | 30 +
.../Properties/Settings.settings | 7 +
.../Resources/Connected.ico | Bin 0 -> 93787 bytes
.../Resources/Disconnected.ico | Bin 0 -> 93772 bytes
.../PresenceClient-GUI/Resources/Icon.ico | Bin 0 -> 101107 bytes
PresenceClient/PresenceClient-GUI/Utils.cs | 49 +
PresenceClient/PresenceClient-Py/README.md | 41 +
.../PresenceClient-Py/presence-client.py | 156 +
PresenceClient/PresenceClient.sln | 37 +
PresenceClient/PresenceCommon/DataHandler.cs | 21 +
.../PresenceCommon/PresenceCommon.csproj | 12 +
PresenceClient/PresenceCommon/Types/Title.cs | 53 +
PresenceClient/PresenceCommon/Utils.cs | 111 +
README.md | 14 +
Resource/QuestApplicationOverrides.json | 32 +
Resource/SwitchApplicationOverrides.json | 12 +
40 files changed, 6429 insertions(+), 21 deletions(-)
delete mode 100644 LICENSE
create mode 100644 LICENSE.md
create mode 100644 PresenceClient/.editorconfig
create mode 100644 PresenceClient/.gitignore
create mode 100644 PresenceClient/.idea/.idea.PresenceClient/.idea/.gitignore
create mode 100644 PresenceClient/.idea/.idea.PresenceClient/.idea/discord.xml
create mode 100644 PresenceClient/.idea/.idea.PresenceClient/.idea/encodings.xml
create mode 100644 PresenceClient/.idea/.idea.PresenceClient/.idea/indexLayout.xml
create mode 100644 PresenceClient/.idea/.idea.PresenceClient/.idea/vcs.xml
create mode 100644 PresenceClient/PresenceClient-CLI/ConsoleOptions.cs
create mode 100644 PresenceClient/PresenceClient-CLI/Icon.ico
create mode 100644 PresenceClient/PresenceClient-CLI/PresenceClient-CLI.csproj
create mode 100644 PresenceClient/PresenceClient-CLI/Program.cs
create mode 100644 PresenceClient/PresenceClient-GUI/.editorconfig
create mode 100644 PresenceClient/PresenceClient-GUI/App.config
create mode 100644 PresenceClient/PresenceClient-GUI/Config.cs
create mode 100644 PresenceClient/PresenceClient-GUI/MainForm.Designer.cs
create mode 100644 PresenceClient/PresenceClient-GUI/MainForm.cs
create mode 100644 PresenceClient/PresenceClient-GUI/MainForm.resx
create mode 100644 PresenceClient/PresenceClient-GUI/PresenceClient-GUI.csproj
create mode 100644 PresenceClient/PresenceClient-GUI/Program.cs
create mode 100644 PresenceClient/PresenceClient-GUI/Properties/AssemblyInfo.cs
create mode 100644 PresenceClient/PresenceClient-GUI/Properties/Resources.Designer.cs
create mode 100644 PresenceClient/PresenceClient-GUI/Properties/Resources.resx
create mode 100644 PresenceClient/PresenceClient-GUI/Properties/Settings.Designer.cs
create mode 100644 PresenceClient/PresenceClient-GUI/Properties/Settings.settings
create mode 100644 PresenceClient/PresenceClient-GUI/Resources/Connected.ico
create mode 100644 PresenceClient/PresenceClient-GUI/Resources/Disconnected.ico
create mode 100644 PresenceClient/PresenceClient-GUI/Resources/Icon.ico
create mode 100644 PresenceClient/PresenceClient-GUI/Utils.cs
create mode 100644 PresenceClient/PresenceClient-Py/README.md
create mode 100644 PresenceClient/PresenceClient-Py/presence-client.py
create mode 100644 PresenceClient/PresenceClient.sln
create mode 100644 PresenceClient/PresenceCommon/DataHandler.cs
create mode 100644 PresenceClient/PresenceCommon/PresenceCommon.csproj
create mode 100644 PresenceClient/PresenceCommon/Types/Title.cs
create mode 100644 PresenceClient/PresenceCommon/Utils.cs
create mode 100644 README.md
create mode 100644 Resource/QuestApplicationOverrides.json
create mode 100644 Resource/SwitchApplicationOverrides.json
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 31be92c..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2022 Pusheon
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..aab650f
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,340 @@
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ {signature of Ty Coon}, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/PresenceClient/.editorconfig b/PresenceClient/.editorconfig
new file mode 100644
index 0000000..bc332e4
--- /dev/null
+++ b/PresenceClient/.editorconfig
@@ -0,0 +1,4 @@
+[*.cs]
+
+# CA1031: Do not catch general exception types
+dotnet_diagnostic.CA1031.severity = none
diff --git a/PresenceClient/.gitignore b/PresenceClient/.gitignore
new file mode 100644
index 0000000..62e4e8f
--- /dev/null
+++ b/PresenceClient/.gitignore
@@ -0,0 +1,352 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
diff --git a/PresenceClient/.idea/.idea.PresenceClient/.idea/.gitignore b/PresenceClient/.idea/.idea.PresenceClient/.idea/.gitignore
new file mode 100644
index 0000000..3db81ab
--- /dev/null
+++ b/PresenceClient/.idea/.idea.PresenceClient/.idea/.gitignore
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/projectSettingsUpdater.xml
+/contentModel.xml
+/.idea.PresenceClient.iml
+/modules.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/PresenceClient/.idea/.idea.PresenceClient/.idea/discord.xml b/PresenceClient/.idea/.idea.PresenceClient/.idea/discord.xml
new file mode 100644
index 0000000..d8e9561
--- /dev/null
+++ b/PresenceClient/.idea/.idea.PresenceClient/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PresenceClient/.idea/.idea.PresenceClient/.idea/encodings.xml b/PresenceClient/.idea/.idea.PresenceClient/.idea/encodings.xml
new file mode 100644
index 0000000..df87cf9
--- /dev/null
+++ b/PresenceClient/.idea/.idea.PresenceClient/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/PresenceClient/.idea/.idea.PresenceClient/.idea/indexLayout.xml b/PresenceClient/.idea/.idea.PresenceClient/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/PresenceClient/.idea/.idea.PresenceClient/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PresenceClient/.idea/.idea.PresenceClient/.idea/vcs.xml b/PresenceClient/.idea/.idea.PresenceClient/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/PresenceClient/.idea/.idea.PresenceClient/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PresenceClient/PresenceClient-CLI/ConsoleOptions.cs b/PresenceClient/PresenceClient-CLI/ConsoleOptions.cs
new file mode 100644
index 0000000..1d79d47
--- /dev/null
+++ b/PresenceClient/PresenceClient-CLI/ConsoleOptions.cs
@@ -0,0 +1,17 @@
+using System.Net;
+using CommandLine;
+
+namespace PresenceClient_CLI;
+
+public class ConsoleOptions
+{
+ [Option('m', "ignore-home-screen", Required = false, Default = false, HelpText = "Don't display the home screen")]
+ public bool IgnoreHomeScreen { get; set; }
+
+ [Value(0, MetaName = "IP", Required = true, HelpText = "The IP address of your device")]
+ public string Ip { get; set; }
+ public IPAddress ParsedIp { get; set; }
+
+ [Value(1, MetaName = "Client ID", Required = true, HelpText = "The Client ID of your Discord Rich Presence application")]
+ public ulong ClientId { get; set; }
+}
\ No newline at end of file
diff --git a/PresenceClient/PresenceClient-CLI/Icon.ico b/PresenceClient/PresenceClient-CLI/Icon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..06376f7b9f7b50c9e88362db3b3f996ae902979f
GIT binary patch
literal 101107
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