Coder Social home page Coder Social logo

twinder's Introduction

Twinder

A sophisticated (not so much actually) Tinder client made using Windows Presentation Foundations technology and unofficial Tinder API.

Disclaimer: As this is using an unofficial API, I am not to be held responsible for any account loses, bans and other things that may happen or not happen due to the usage of this software.


Note: I'm stopping development for this program. Feel free to fork and edit this horrible codebase.

Download here

Building requires Bing Maps SDK to be installed.

Features:

  • Main Tinder functionalities without the bells and whistles
  • See people who unmatched you, people you unmatched, passed and pending recommendations
  • Multi-user support
  • Location spoofing
  • Match filtering
  • All match and recommendation data is stored in your %appdata% folder
  • Beautiful chat with Emoji support

Many more things are yet to come as this is an early release

Main window

Chat window

What is the purpose of this application if there's already a pretty nice mobile app available?

First and foremost, this is a desktop application, so you don't need to reach your phone to Tinder, which is the main advantage of this program. Second, every match is saved on your computer, so you will never lose the girl that unmatched you! You can filter your match list to find the match you desire - no more boring scrolling just to find the girl you need. Most of the other advantages are derivatives of the main advantage e.g. you can chat with multiple people at one time and view photos more comfortably.

Is everything working?

Yes, except for that group thing and you can't upload your photos yet and you can't use any Spotify features and chat doesn't show GIFs.


twinder's People

Contributors

dainius14 avatar mtlynch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

twinder's Issues

Unsafe method EmptyRecommendations

I believe this method was triggered since this seems the most likely culprit. The program tried to delete my entire C drive basically. I started the program and the GUI was basically 'empty' and stuck ( I think the tinder rate_limit code was triggered), shortly after that I saw some folders disappearing from my desktop so I killed it from taskmngr. After that I looked under AppData and my user folder and saw that most things were deleted. Not much harm done since I could recover it, I would recommend you add some code to check the directory paths.

Apart from that great idea to create such an App :)

Track super likes

Currently the app lets you "super like" even if you have none remaining. It would be great if Twinder tracked your Super Likes to tell you how many were remaining, when they'd refresh, and notified you when you tried to super like when you have none.

Lots of null reference errors on first load

I cleared my AppData\Local\Twinder folder, and rebuilt from 533fd47 but after I complete the FB auth flow, I get a bunch of null reference exceptions and can't run Twinder.

System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=Twinder
  StackTrace:
       at Twinder.ViewModel.MatchListFilterViewModel.SortMatchList() in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 333
       at Twinder.ViewModel.MatchListFilterViewModel.set_SelectedSorting(SortingOptionsEnum value) in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 252
  InnerException: 
System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=Twinder
  StackTrace:
       at Twinder.ViewModel.MatchListFilterViewModel.UpdateStatusBar() in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 522
       at Twinder.ViewModel.MatchListFilterViewModel.set_SelectedTab(TabItem value) in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 30
  InnerException: 
System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=Twinder
  StackTrace:
       at Twinder.ViewModel.MatchListFilterViewModel.ApplyFilter(Object sender, FilterEventArgs e) in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 376
       at System.Windows.Data.CollectionViewSource.WrapFilter(Object item)
       at System.Windows.Data.CollectionViewSource.FilterStub.WrapFilter(Object item)
       at System.Windows.Data.ListCollectionView.PrepareLocalArray()
       at System.Windows.Data.ListCollectionView.RefreshOverride()
       at System.Windows.Data.CollectionView.RefreshInternal()
       at System.Windows.Data.CollectionView.Refresh()
       at System.Windows.Data.CollectionView.EndDefer()
       at System.Windows.Data.CollectionView.DeferHelper.Dispose()
       at System.Windows.Data.CollectionViewSource.ApplyPropertiesToView(ICollectionView view)
       at System.Windows.Data.CollectionViewSource.OnForwardedPropertyChanged()
       at System.Windows.Data.CollectionViewSource.add_Filter(FilterEventHandler value)
       at Twinder.ViewModel.MainViewModel.set_MatchList(ObservableCollection`1 value) in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 46
       at Twinder.ViewModel.MainViewModel.<GetMatches>d__180.MoveNext() in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 472
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at Twinder.ViewModel.MainViewModel.<StartInitialize>d__178.MoveNext() in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 339
  InnerException: 
Object reference not set to an instance of an object.
   at Twinder.ViewModel.MatchListFilterViewModel.ApplyFilter(Object sender, FilterEventArgs e) in C:\tmp\twinder\ViewModel\MatchListFilterViewModel.cs:line 376
   at System.Windows.Data.CollectionViewSource.WrapFilter(Object item)
   at System.Windows.Data.CollectionViewSource.FilterStub.WrapFilter(Object item)
   at System.Windows.Data.ListCollectionView.PrepareLocalArray()
   at System.Windows.Data.ListCollectionView.RefreshOverride()
   at System.Windows.Data.CollectionView.RefreshInternal()
   at System.Windows.Data.CollectionView.Refresh()
   at System.Windows.Data.CollectionView.EndDefer()
   at System.Windows.Data.CollectionView.DeferHelper.Dispose()
   at System.Windows.Data.CollectionViewSource.ApplyPropertiesToView(ICollectionView view)
   at System.Windows.Data.CollectionViewSource.OnForwardedPropertyChanged()
   at System.Windows.Data.CollectionViewSource.add_Filter(FilterEventHandler value)
   at Twinder.ViewModel.MainViewModel.set_MatchList(ObservableCollection`1 value) in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 46
   at Twinder.ViewModel.MainViewModel.<GetMatches>d__180.MoveNext() in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 472
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Twinder.ViewModel.MainViewModel.<StartInitialize>d__178.MoveNext() in C:\tmp\twinder\ViewModel\MainViewModel.cs:line 339
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Request: Unlimited recommendations

Currently, it seems like Twinder fetches recommendations in batches of 11. The user can go through them, but then when they reach the end, the window closes, and they have to hit "Recommendations" again, then wait for a new fetch to complete.

A nice feature would be for Twinder to fetch new recommendations in the background as they're reaching the end of the batch so that they don't have to close the window and start over or wait for a batch fetch to complete.

Unhandled exception right after logging in

at Twinder.ViewModel.MainViewModel.d__126.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Twinder.ViewModel.MainViewModel.d__123.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Twinder.ViewModel.MainViewModel.d__122.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Add an open source license

It would be great if this project had an explicit open source license so that contributors with license restrictions could submit PRs and people could know what they're allowed to do with the code. See http://choosealicense.com/ for more information about choosing open source licenses.

Trouble building under VS 2015

Thanks for creating this! I'm having trouble building from source under VS Professional 2015:

The type or namespace name 'BinaryAnalysis' could not be found (are you missing a using directive or an assembly reference?)

The type or namespace name 'Maps' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

The type or namespace name 'Location' could not be found (are you missing a using directive or an assembly reference?)

'string' does not contain a definition for 'Unidecode' and no extension method 'Unidecode' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.