Code Monkey home page Code Monkey logo

tinderbotz's Introduction

Tinderbotz

Consider giving a ⭐ if you like the project!

Project


TINDERBOT AND PROFILESCRAPER

Tinder web automation and scraper.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About the Project

IMPORTANT: Starring the project indicates shows your appreciation and will result in new features being added!

This project started with the motivation of learning web automation further and scraping with Python.
I managed to succesfully create a bot that could:

  • Open a browser and login to Tinder.com
  • Setting a custom location for FREE (which is normally a paid-for-Tinder Plus-feature)
  • Setting profile settings and preferences, such as distance radius, minimum and maximum age, sexuality.
  • Accept all notifications and dismiss pop-ups
  • Swiping x number of profiles left or right
  • Scraping data of the profiles displayed, including, yet not limited to, name, age, bio, images, ...
  • Sending personalized messages to your matches
  • Sending you social media cards, like Instagram, Snapchat, Phonenumber and Facebook
  • Sending GIFS and songs
  • Unmatching

If you feel like diving right in, the quickstart.py will help you be right on track.
If you're new to coding and just want the script to automatically like, the auto_swipe.py would be what you're looking for!
Feel free to make a pull request and contribute to this project!

Enjoy! :)

Youtube Video Getting +1000 Matches on Tinder in 24 Hours by Building a Tinderbot!

Built with

Breaking Record

I broke the world record most matches using this script!
Reached 1000 matches in the first 24hours.
Currently at 30000 matches!

Getting Started

Prerequisites

  • Environment running python 3.x
  • Tinder account with Google or Facebook login enabled

Installation

Github

  1. Clone or download the project
  2. Install the required packages
pip3 install -r requirements.txt

Usage of Tinderbot

Features

Features of Tinderbot as demonstrated belowed can be found here: Tinderbot features

Demonstration

Setting some Profile settings

Liking 10 profiles in row + dismissing potential pop ups

Scraping your matches (new matches + messaged matches)

Sending personalized messages to your matches

Example Data Analysis

When scraping geomatches or your own matches, you can start doing some pretty cool stuff with that data. A few examples are:

Worldclouds

You can create wordclouds to visualise data such as the most popular names, or most occuring words in a bio.

The 'Average' Person

You can also start calculating what an 'average' tinderprofile would look like.
You can for example check the average number of words a bio consists of or the average number of images a user has.

How to Avoid the Ban

This small section will explain how their bot detection works and how you can avoid getting banned.

1) Go easy with newly created profiles

Newly created profiles are much more likely to get banned than long-existing ones.
So be extra cautious!

2) Avoid the usage of URLS!

This one is very lethal for your accounts. Avoid sending urls to people in messages and DO NOT place any url in your bio!

3) Avoid running the code overnight

Try to use the code when you can see it running. In case you need to handle something (like a captcha or anything) you can immediatly respond to it. I've heard some people had to prove they were not bots by doing some captcha and this could age very poorly when you run it overnight. Myself however, I haven't yet had 'the honour' to be redirected to such a captcha. So if you play it safe, there would be no need to panic.

4) Implement sleeps between swipes

This might sounds ridiculous, but most people take a look at the profile before they swipe it. Therefore instantly swiping right on every profile puts you in a 'non humanlike behaviour'-zone, which should be tried to be avoided. Adding a sleep between swipes can be done as described here. It is recommended to sleep at least 1 second between every swipe. If you have a rather new profile, then make it 2 or 3 (float numbers like 1.5 are also allowed).

5) Implement randomness in your liking and disliking

Same applies as above; most people dislike some profiles and like others. Not liking EVERY profile could help you stay under the radar. Example of how to do so can be found here.

6) Make your profile look as real as possible

Your profile cannot look in any way like those spambots. Therefore a few things can be done.

6.1) Verify your profile with the blue badge to prove it's really you

6.2) Link your Instagram/Spotify/Facebook and verify your email

6.3) Write a good bio, preferably with a minimum of 100 characters

6.4) Add at least 3-4 images, preferably more

Support the Repository

Feel free to make a pull request and contribute to this project.
If you feel like buying me a drink:

Other Tinder Repositories

Imgur

Disclaimer

Using automated software on Tinder is against community guidelines and might get your account banned.

Also for the section data mining: scraping profiles is not only against Tinder's policies, but it's also against the law in many places.
People on Tinder did not give their permission to be stored by any other entity than Tinder itself and people have the right to be forgotten. (see: GDPR in Europe)

So here's a reminder that this software is for educational purposes only and it cannot be held accountable for any consequences you may face by having used this tool. Neither personal (banned account) nor judicial (lawsuits for privacy violations).

tinderbotz's People

Contributors

acarter881 avatar arwiim avatar bleshik avatar dependabot[bot] avatar euglv avatar frederikme avatar game-k-hack avatar spyfly avatar thegreatsimo avatar vladi7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tinderbotz's Issues

Location Guard seems not working

Hi @frederikme!
First of all, thank you for your hard work and for your marvelous bot, everything works like a charm.
However, I noticed that the LocationGuard extension doesn't work with the search service and raise this error :
"The search service is not working right now. Please try again later."
Is there an alternative to this deficient extension or another better extension for changing the location?

Thanks in advance man!

EDIT :
It seems that I have found a workaround to LocationGuard extension when it doesn't work, simply add these lines after defined the browser

        self.browser.execute_cdp_cmd(
            "Emulation.setGeolocationOverride",
            {
                "latitude": 48.856613,  # latitude here
                "longitude": 2.352222, # longitude here
                "accuracy": 100, # accuracy here
            },
        )

Selenium driver not loading?

Hi,

Hoping you can help with this one, It's probably a small mistake on my part, I've edited the quickstart.py with my details and when running it, I get the following error:

Started session: 2020-12-27 14:18:55

Adding Location Guard extension ...
Traceback (most recent call last):
File "C:\Python39\Lib\site-packages\tinderbotz\quickstart.py", line 13, in
session = Session()
File "C:\Python39\lib\site-packages\tinderbotz\session.py", line 90, in init
options.add_extension('./tinderbotz/LocationGuardExtension.crx')
File "C:\Python39\lib\site-packages\selenium\webdriver\chrome\options.py", line 131, in add_extension
raise IOError("Path to the extension doesn't exist")
OSError: Path to the extension doesn't exist

Thanks!

tinderbotz is broken

When I import tinderbotz, after downloading through pip and import it, I get the following error

17 # Tinderbotz: helper classes

---> 18 from tinderbotz.helpers.geomatch import Geomatch
        19 from tinderbotz.helpers.match import Match
        20 from tinderbotz.helpers.location_helper import LocationHelper
       
ModuleNotFoundError: No module named 'tinderbotz.helpers'

This is happening while import tinderbotz.session in init.py inside tinderbotz

To Reproduce
import tinderbotz

session.get_new_matches() Index out of range?

I'm seeing the following error whenever i try using new_matches = session.get_new_matches() without giving the amount and quickload option.. is there no way of loading all my matches?

Traceback (most recent call last):
  File "C:\Users\Dexters \Desktop\Tindr\TinderBotz\test.py", line 45, in <module>
    new_matches = session.get_new_matches()
  File "C:\Users\Dexters \Desktop\Tindr\TinderBotz\tinderbotz\session.py", line 292, in get_new_matches
    return helper.get_new_matches(amount, quickload)
  File "C:\Users\Dexters \Desktop\Tindr\TinderBotz\tinderbotz\helpers\match_helper.py", line 141, in get_new_matches
    used_chatids.append(new_chatids[index])
IndexError: list index out of range
/===============\
| Tinderbotz    |
| ----------    |
| duration: 244 |
| like: 0       |
| dislike: 0    |
| superlike: 0  |
\===============/

Get_Distance Issue

Traceback (most recent call last):
File "C:\Users\Dexters Laboratory\Desktop\Tindr\TinderBotz\auto_swipe.py", line 54, in
if profile.get_distance() <= maximum_distance: # compare the distance to the maximum allowed distance
TypeError: '<=' not supported between instances of 'NoneType' and 'int'

I believe the path for the distance has changeD? Its returning None now ..

No Module named Tinderbot

Hello,

I have following Issue on my Raspberry Pi with Python 3.7

Bildschirmfoto 2021-03-22 um 14 10 58

Does anyone know how to fix this module error?

Mark

python auto_swipe.py

python auto_swipe.py
Traceback (most recent call last):
  File "auto_swipe.py", line 8, in <module>
    from tinderbotz.session import Session
  File "/Users/alif/Developer/Swift/Tinder/TinderBotz-master/tinderbotz/__init__.py", line 1, in <module>
    from tinderbotz.session import Session
  File "/Users/alif/Developer/Swift/Tinder/TinderBotz-master/tinderbotz/session.py", line 97
    options.add_argument(f'--proxy-server=http://{proxy}')
                                                        ^
SyntaxError: invalid syntax

Get_Passion broken?

In Geomatch_Helper.py, the get_Passions definition is set as

    def get_passions(self):
        if not self._is_profile_opened():
            self._open_profile()

        passions = []

        xpath = f'{content}/div/div[1]/div/main/div[1]/div/div/div[1]/div[1]/div/div[2]/div[1]/div/div[2]/div[4]/div'
        elements = self.browser.find_elements_by_xpath(xpath)
        for el in elements:
            passions.append(el.text)

        return passions

I guess there was an update because this is no longer pulling passions, it seems to pull random variables

See a sample print here

name = match.get_name()  
age = match.get_age()  
bio = match.get_bio() 
passions = match.get_passions() 
distance = match.get_distance()
print("Her name is:", name, " and shes ", age, ". She is about ", distance, " miles away. And her passions are: ", passions)

OUTPUT:

Her name is: Tamar  and shes  25 . She is about  12  miles away. And her passions are:  ['', '12 miles away']
Her name is: Ashlee  and shes  28 . She is about  77  miles away. And her passions are:  ['', '77 miles away']
Her name is: Courtney  and shes  28 . She is about  99  miles away. And her passions are:  []
Her name is: Emily  and shes  25 . She is about  79  miles away. And her passions are:  **['', 'Lives in Richmond']**
Her name is: Lakesha  and shes  37 . She is about  80  miles away. And her passions are:  **['', 'Straight']**
Her name is: Savannah  and shes  36 . She is about  81  miles away. And her passions are:  **['', '81 miles away']**
Her name is: Julie  and shes  26 . She is about  61  miles away. And her passions are:  []
Her name is: Kristen  and shes  29 . She is about  75  miles away. And her passions are:  ['', 'Yale University']
Her name is: Vik  and shes  29 . She is about  81  miles away. And her passions are:  ['', '81 miles away']
Her name is: Brittany  and shes  25 . She is about  82  miles away. And her passions are:  ['', 'Straight Woman']
Her name is: Lita  and shes  26 . She is about  20  miles away. And her passions are:  ['', '20 miles away']

issues since tinder update?

hey man,

great job on the code.

I was using a code where the login functions were called like this:
session.loginUsingGoogle()

Since a few days I bump into this issue while running the code:
match tab could not be found, trying again

If I use your newest code I get this error:
This browser or app may not be secure.
Try using a different browser. If you’re already using a supported browser, you can refresh your screen and try again to sign in.

Using the old code I dont bump into the browser error, it just doesn't interact with matches(likes, ... ,messages)

cheers

Only 1 new match, although I have 60 new matches. Bot gets stuck after a while.

Hi,

I have an issue where I run

'''
Created by Frederikme (TeetiFM)
'''

from tinderbotz.session import Session
from tinderbotz.helpers.constants_helper import *

import constants

if __name__ == "__main__":

    # creates instance of session
    session = Session()

    # set location (Don't need to be logged in for this)
    #session.setCustomLocation("Leuven, Belgium")

    # Will send you an email when you have a match.
    #session.setEmailNotifications(True)

    # login using your google account with a verified email!
    #session.loginUsingGoogle(email=constants.email_google, password=constants.password_google)

    # Alternatively you can login using facebook with a connected profile!
    session.loginUsingFacebook(email="***", password="***")

    # adjust allowed distance for geomatches
    # Note: You need to be logged in for this setting
    # Note: PARAMETER IS IN KILOMETERS!
    #session.setDistanceRange(km=150)

    # set range of allowed ages
    # Note: You need to be logged in for this setting
    #session.setAgeRange(18, 55)

    # set interested in gender(s) -> options are: WOMEN, MEN, EVERYONE
    #session.setSexuality(Sexuality.WOMEN)

    # Allow profiles from all over the world to appear
    #session.setGlobal(True)

    # spam likes, dislikes and superlikes
    # to avoid being banned:
    #   - it's best to apply a randomness in your liking by sometimes disliking.
    #   - some sleeping between two actions is recommended
    # NOTE: these recommendations apply mostly to large amounts of swiping (+100 likes)
    #session.like(amount=10, ratio="72.5%", sleep=1)
    #session.dislike(amount=1)
    #session.superlike(amount=1)

    # Getting matches takes a while, so recommended you load as much as possible from local storage
    # get new matches, with whom you haven't interacted yet
    new_matches = session.getNewMatches()
    # get already interacted with matches
    old_matches = session.getMessagedMatches()
    # get all matches (comment out new_matches and old_matches above so it doesnt load it all for no reason)
    matches = session.getAllMatches()

    #you can store the data and images of these matches now locally in data/matches
    for match in matches:
        session.storeLocal(match)

    # Pick up line with their personal name so it doesn't look spammy
    pickup_line = "Hey {}! This weekend.. You. Me. Pizza? Or do you not like pizza?"

    # loop through my new matches and send them the first message of the conversation
    for match in new_matches:
        # store name and chatid in variables so we can use it more simply later on
        name = match.getName()
        id = match.getChatID()

        print(name, id)

        # Format the match her/his name in your pickup line for a more personal approach.
        message = pickup_line.format(name)

        # send pick up line with their name in it to all my matches
        session.sendMessage(chatid=id, message=message)

        # send a funny gif
        #session.sendGif(chatid=id, gifname="")

        # send a funny song
        #session.sendSong(chatid=id, songname="")

        # send my instagram or you can use alternative socials like facebook, phonenumber and snapchat
        # session.sendSocials(chatid=id, media=Socials.INSTAGRAM, value="Teeti.fm")

        # you can also unmatch
        #session.unMatch(chatid=id)

    # let's scrape some geomatches now
    #for _ in range(5):
    #    # get profile data (name, age, bio, images, ...)
    #    geomatch = session.getGeomatch()
    #    # store this data locally as json with reference to their respective (locally stored) images
    #    session.storeLocal(geomatch)
    #    # dislike the profile, so it will show us the next geomatch (since we got infinite amount of dislikes anyway)
    #    session.dislike()

-> Made by Frederikme
-----------------------------------


Getting ChromeDriver ...
Adding Location Guard extension ...
 
[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Get LATEST driver version for 87.0.4280
[WDM] - Driver [C:\Users\Sander\.wdm\drivers\chromedriver\win32\87.0.4280.20\chromedriver.exe] found in cache
User is not logged in yet.

COOKIES ACCEPTED.
COOKIES ACCEPTED.
ACCEPTED LOCATION.
DENIED NOTIFICATIONS.
Getting not-interacted-with, NEW MATCHES
[>-----------------------------] 0% of the new matches handled.
[==============================>] 100% of the new matches handled.



Getting interacted-with, MESSAGED MATCHES
[>-----------------------------] 0% of the interacted-with-matches handled.
[>-----------------------------] 3% of the interacted-with-matches handled.
[=>----------------------------] 6% of the interacted-with-matches handled.
[==>---------------------------] 9% of the interacted-with-matches handled.
[===>--------------------------] 12% of the interacted-with-matches handled.
[====>-------------------------] 15% of the interacted-with-matches handled.
[=====>------------------------] 18% of the interacted-with-matches handled.
[======>-----------------------] 21% of the interacted-with-matches handled.
[=======>----------------------] 24% of the interacted-with-matches handled.
[========>---------------------] 27% of the interacted-with-matches handled.
[=========>--------------------] 30% of the interacted-with-matches handled.
[=========>--------------------] 33% of the interacted-with-matches handled.
[==========>-------------------] 36% of the interacted-with-matches handled.
[===========>------------------] 39% of the interacted-with-matches handled.
[============>-----------------] 42% of the interacted-with-matches handled.
[=============>----------------] 45% of the interacted-with-matches handled.
[==============>---------------] 48% of the interacted-with-matches handled.
[===============>--------------] 51% of the interacted-with-matches handled.name
Message: no such element: Unable to locate element: {"method":"xpath","selector":"//h1[@itemprop="name"]"}
  (Session info: chrome=87.0.4280.66)
  (Driver info: chromedriver=87.0.4280.20 (c99e81631faa0b2a448e658c0dbd8311fb04ddbd-refs/branch-heads/4280@{#355}),platform=Windows NT 10.0.19041 x86_64)

age
Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[@itemprop="age"]"}
  (Session info: chrome=87.0.4280.66)
  (Driver info: chromedriver=87.0.4280.20 (c99e81631faa0b2a448e658c0dbd8311fb04ddbd-refs/branch-heads/4280@{#355}),platform=Windows NT 10.0.19041 x86_64)

distance
Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[contains(text(), 'kilometers away')]"}
  (Session info: chrome=87.0.4280.66)
  (Driver info: chromedriver=87.0.4280.20 (c99e81631faa0b2a448e658c0dbd8311fb04ddbd-refs/branch-heads/4280@{#355}),platform=Windows NT 10.0.19041 x86_64)

[================>-------------] 54% of the interacted-with-matches handled.
[=================>------------] 57% of the interacted-with-matches handled.
[==================>-----------] 60% of the interacted-with-matches handled.
[==================>-----------] 63% of the interacted-with-matches handled.
[===================>----------] 66% of the interacted-with-matches handled.
[====================>---------] 69% of the interacted-with-matches handled.
[=====================>--------] 72% of the interacted-with-matches handled.
[======================>-------] 75% of the interacted-with-matches handled.
[=======================>------] 78% of the interacted-with-matches handled.
[========================>-----] 81% of the interacted-with-matches handled.
[=========================>----] 84% of the interacted-with-matches handled.
[==========================>---] 87% of the interacted-with-matches handled.
[===========================>--] 90% of the interacted-with-matches handled.
[===========================>--] 93% of the interacted-with-matches handled.
[============================>-] 96% of the interacted-with-matches handled.
[==============================>] 100% of the interacted-with-matches handled.




Scraping matches can take a while!

Getting not-interacted-with, NEW MATCHES
[>-----------------------------] 0% of the new matches handled.
[==============================>] 100% of the new matches handled.



Getting interacted-with, MESSAGED MATCHES
[>-----------------------------] 0% of the interacted-with-matches handled.
[>-----------------------------] 3% of the interacted-with-matches handled.
[=>----------------------------] 6% of the interacted-with-matches handled.
[==>---------------------------] 9% of the interacted-with-matches handled.
[===>--------------------------] 12% of the interacted-with-matches handled.
[====>-------------------------] 15% of the interacted-with-matches handled.
[=====>------------------------] 18% of the interacted-with-matches handled.
[======>-----------------------] 21% of the interacted-with-matches handled.
[=======>----------------------] 24% of the interacted-with-matches handled.
[========>---------------------] 27% of the interacted-with-matches handled.
[=========>--------------------] 30% of the interacted-with-matches handled.
[=========>--------------------] 33% of the interacted-with-matches handled.
[==========>-------------------] 36% of the interacted-with-matches handled.
[===========>------------------] 39% of the interacted-with-matches handled.
[============>-----------------] 42% of the interacted-with-matches handled.
[=============>----------------] 45% of the interacted-with-matches handled.
[==============>---------------] 48% of the interacted-with-matches handled.
[===============>--------------] 51% of the interacted-with-matches handled.
[================>-------------] 54% of the interacted-with-matches handled.
[=================>------------] 57% of the interacted-with-matches handled.
[==================>-----------] 60% of the interacted-with-matches handled.
[==================>-----------] 63% of the interacted-with-matches handled.
[===================>----------] 66% of the interacted-with-matches handled.
[====================>---------] 69% of the interacted-with-matches handled.
[=====================>--------] 72% of the interacted-with-matches handled.
[======================>-------] 75% of the interacted-with-matches handled.
[=======================>------] 78% of the interacted-with-matches handled.
[========================>-----] 81% of the interacted-with-matches handled.
[=========================>----] 84% of the interacted-with-matches handled.
[==========================>---] 87% of the interacted-with-matches handled.
[===========================>--] 90% of the interacted-with-matches handled.
[===========================>--] 93% of the interacted-with-matches handled.
[============================>-] 96% of the interacted-with-matches handled.
[==============================>] 100% of the interacted-with-matches handled.



Image saved as C:\Users\Sander\Documents\TinderBot/data/matches/images/dd6cc556e2318b86f20506cbfc2775e1.jpg
Traceback (most recent call last):
  File "C:\Users\Sander\Documents\TinderBot\quickstart1.py", line 61, in <module>
    session.storeLocal(match)
  File "C:\Users\Sander\Documents\TinderBot\tinderbotz\session.py", line 129, in storeLocal
    StorageHelper.storeMatch(match=match, directory='data/{}'.format(filename), filename=filename)
  File "C:\Users\Sander\Documents\TinderBot\tinderbotz\helpers\storage_helper.py", line 102, in storeMatch
    data = json.load(fp)
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Hi man,

I love this thing but running into 2 issues..

#1: I have about 60 new matches but the "Getting not-interacted-with, NEW MATCHES" only grabs 1 match and messages this instead of doing 60..

#2 After the a while the bot gets stuck I have no clue on how to fix this..

Sander

Captcha handling

Hi, thank you for your code! Is there any wat to handle a captcha? Cuz for now i cant even loging in, and a script is not waiting.
image

unmatching all matches

hey hey
I would like to clean up my account and would like to unmatch everything.

how can I do this with your script ?

Thanks :)

getNewMatches seems to be malfunctioning

It seems to be an error when i try to get new matches

new_matches = session.getNewMatches(quickload=True)

Getting not-interacted-with, NEW MATCHES
[>-----------------------------] 0% of the new matches handled.openchat 2:Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[@href="/app/messages/my-likes"]"}
(Session info: chrome=87.0.4280.141)
(Driver info: chromedriver=87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}),platform=Windows NT 10.0.18363 x86_64)

phone number login not working

hi the phone number login is not working, it open the google chrome windows and tinder and i have to put the phone number but when i log, the bot don't do anything

Tinder is not connected

Hello! Obviously Tinder was change own settings, there i could't to logging in. In console i see this:



User is not logged in yet.

COOKIES ACCEPTED.
Loading an element took too much time!. Please check your internet connection.
Alternatively, you can add a sleep or higher the delay class variable.
/==============\
| Tinderbotz   |
| ----------   |
| duration: 23 |
| like: 0      |
| dislike: 0   |
| superlike: 0 |
\==============/
Started session: 2021-04-17 01:09:51
Ended session: 2021-04-17 01:10:05```

In chrome i see the default registration page.

Desktop:
 - MacOS (macbook m1)

Bot crashes on start

Describe the bug
The Bot crashes if u start it cause there is a new website popup he doesnt know yet.
Didnt know if its the same issue than #34 so I created a new issue

To Reproduce

  1. start the bot
  2. bot tries to login
  3. crash

Expected behavior
Should work as smooth as before :)

Screenshots
image

Desktop (please complete the following information):

  • OS: Linux
  • Browser: Chrome

Additional context
From the logfile:

Started session: 2021-04-21 08:34:06

User is not logged in yet.

COOKIES ACCEPTED.
Traceback (most recent call last):
File "c0rrrebot.py", line 95, in
main()
File "c0rrrebot.py", line 71, in main
session.login_using_facebook(email, password)
File "/home/tinder/Schreibtisch/TinderBotz/tinderbotz/session.py", line 144, in login_using_facebook
helper.login_by_facebook(email, password)
File "/home/tinder/Schreibtisch/TinderBotz/tinderbotz/helpers/login_helper.py", line 119, in login_by_facebook
loginbutton.click()
File "/home/tinder/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/home/tinder/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "/home/tinder/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/tinder/.local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element ... is not clickable at point (248, 201). Other element would receive the click:

Chrome open with blank window twice "data:,"

Hi Frederik,

First of all your program seems very complete and well made... Unfortunately I am not able to make it work.

When I launch the program quickstart.py through the terminal, Google Chrome opens with a blank window and the word "data:," in the search bar. Then the same window open again and that's it.

Here is a quick video recording of what's happening : https://recordit.co/TpPA0XgmXl

I am using Mac OS 11.5.1

Any ideas on how to fix it ?

Thank you for your help!!

Oby

Add "scroller" function - getMatches seems to be stoping at ~60

Hey Frederik, first of all, I need to thank you since I had ~10k of Matches in my Tinder account and it became unmanageable.

Hopefuly with this scripts I can clean up a little bit by Match DB.

It would be nice though, for the getMatches functions, to add up a "scroller". What I mean by this, is that the functions is returning to me ~60 matches, it's only if I scroll down before running the code to let the matches load that the script would get that data afterwards.

Thanks!

windows support

hi is not a feature idea,
is only a question.

This bot is currently working on windows?

stuck after login

1 After login tinder ask to allow browser location or logout
our app disables and it reloads
2. endless loop
3. if i allow it manually then location does not change

Problem with get_geomatch function

Hi,

I tried to get the code from #42 working but there is nothing happening after line "session.get_geomatch()".
It looks like the code gets stuck there.

session = Session()

session.login_using_facebook(email, password)

amount_to_like = 100
maximum_distance = 150

for _ in range(amount_to_like):

profile = session.get_geomatch()

if profile.get_distance() <= maximum_distance:
session.like()
else:
session.dislike()

maybe there is a problem with getting the name in the session.py:

name = helper.get_name()

I also had a problem with the "name" while writting those matches :D
"name" didnt get exchanged by the name of the person xD

btw: nice project <3

Chrome frezzes when finishing the first swipe

The First Swipe works fine and when going to make the second one it freezes.

Steps to reproduce the behavior:

  1. I followed all steps on readme.md
  2. The Browser opens and makes de 1st swipe but freezes after that

console output

     _____ _           _           _           _        
    |_   _(_)_ __   __| | ___ _ __| |__   ___ | |_ ____ 
      | | | | '_ \ / _` |/ _ \ '__| '_ \ / _ \| __|_  / 
      | | | | | | | (_| |  __/ |  | |_) | (_) | |_ / /  
      |_| |_|_| |_|\__,_|\___|_|  |_.__/ \___/ \__/___| 
    ----------------------------------------------------

Started session: 2021-10-22 16:17:28

c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:502: UserWarnin
_____ _ _ _ _
|_ ()_ __ | | ___ _ | | ___ | | ____
| | | | '
\ / ` |/ _ \ '__| ' \ / _ | | /
| | | | | | | (| | __/ | | |) | () | | / /
|| ||| ||_,|_
|| |./ _/ _/_|
----------------------------------------------------
Started session: 2021-10-22 16:20:18

c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:502: UserWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
warnings.warn("find_elements_by_* commands are deprecated. Please use find_elements() instead")
ng: find_element_by_* commands are deprecated. Please use find_element() instead
warnings.warn("find_element_by_* commands are deprecated. Please use find_element() instead")
Liking profiles started.
c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:483: UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
1/100 liked

     _____ _           _           _           _        
    |_   _(_)_ __   __| | ___ _ __| |__   ___ | |_ ____ 
      | | | | '_ \ / _` |/ _ \ '__| '_ \ / _ \| __|_  / 
      | | | | | | | (_| |  __/ |  | |_) | (_) | |_ / /  
      |_| |_|_| |_|\__,_|\___|_|  |_.__/ \___/ \__/___| 
    ----------------------------------------------------

Started session: 2021-10-22 16:48:51

c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:502: UserWarning: find_elements_by_* commands are deprecated. Please use find_elements() instead
warnings.warn("find_elements_by_* commands are deprecated. Please use find_elements() instead")
c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webelement.py:392: UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
warnings.warn("find_element_by_* commands are deprecated. Please use find_element() instead")

Liking profiles started.
c:\Users\ricardo.ruales\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py:483: UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
warnings.warn("find_element_by_* commands are deprecated. Please use find_element() instead")
1/100 liked
2/100 liked

Desktop (please complete the following information):

  • chrome version 95 on windows 10
    -python version 3.7

line 40 of profile

the error i am getting
Made by Frederikme
Started session: 2020-12-14 12:59:35

Adding Location Guard extension ...
Getting ChromeDriver ...

[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Get LATEST driver version for 87.0.4280
[WDM] - Driver [C:\Users\Devansh.wdm\drivers\chromedriver\win32\87.0.4280.88\chromedriver.exe] found in cache

DevTools listening on ws://127.0.0.1:61758/devtools/browser/12a97315-5789-4aa9-8449-f9af5ea9784d
[37612:17988:1214/125948.192:ERROR:device_event_log_impl.cc(211)] [12:59:48.192] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[37612:17988:1214/125948.193:ERROR:device_event_log_impl.cc(211)] [12:59:48.193] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Setting custom Location failed.
Location Guard extension failed to access the internet to browse for custom location
Will try again...
Setting custom Location failed.
Location Guard extension failed to access the internet to browse for custom location
Will try again...
Setting custom Location failed.
Location Guard extension failed to access the internet to browse for custom location
Will try again...
Setting custom Location failed.
Location Guard extension failed to access the internet to browse for custom location
Will try again...
User is not logged in yet.

COOKIES ACCEPTED.
COOKIES ACCEPTED.
ACCEPTED LOCATION.
DENIED NOTIFICATIONS.
Traceback (most recent call last):
File "c:\Users\Devansh\Desktop\projects\TinderBotz-1.2\tinderbotz\helpers\profile_helper.py", line 40, in setDistanceRange
EC.presence_of_element_located((By.XPATH, xpath)))
File "C:\Pyhton\Python37\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "c:/Users/Devansh/Desktop/projects/TinderBotz-1.2/quickstart.py", line 30, in
session.setDistanceRange(km=138)
File "c:\Users\Devansh\Desktop\projects\TinderBotz-1.2\tinderbotz\session.py", line 128, in setDistanceRange
helper.setDistanceRange(km)
File "c:\Users\Devansh\Desktop\projects\TinderBotz-1.2\tinderbotz\helpers\profile_helper.py", line 46, in setDistanceRange
link = self.browser.find_element_by_xpath(xpath)
File "C:\Pyhton\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Pyhton\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element
'value': value})['value']
File "C:\Pyhton\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Pyhton\Python37\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@aria-label="Maximum distance in miles"]"}
(Session info: chrome=87.0.4280.88)
(Driver info: chromedriver=87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}),platform=Windows NT 10.0.19042 x86_64)

/==============\

Tinderbotz
duration: 83
like: 0
dislike: 0
superlike: 0
==============/

Expected behavior
Automation stops with this error or location range.

Desktop (please complete the following information):

  • OS: [win 10]

Curious about --headless implementation

It's super fun project! Great job!

For fun, I was trying to run chrome in background using "--headless" option in session.py. When I ran it, I got the following error:

The resource https://tinder.com/static/build/fonts/0d4ec08dc6b105c09ea2f98b104ee5be.woff2 was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate as value and it is preloaded intentionally.

I suppose it's not possible because chrome needs to display images, and in headless mode, the preloaded content isn't utilized. Any thoughts on whether if this issue can be fixed to allow running in background?

Problem with quickstart.py

Traceback (most recent call last):
File "C:\Users\zero-\Desktop\TinderBotz-master\quickstart.py", line 5, in
from tinderbotz.session import Session
File "C:\Users\zero-\Desktop\TinderBotz-master\tinderbotz_init_.py", line 1, in
from tinderbotz.session import Session
File "C:\Users\zero-\Desktop\TinderBotz-master\tinderbotz\session.py", line 4, in
import undetected_chromedriver.v2 as uc
File "C:\Users\zero-\AppData\Local\Programs\Python\Python310\lib\site-packages\undetected_chromedriver_init_.py", line 31, in
from . import v2
File "C:\Users\zero-\AppData\Local\Programs\Python\Python310\lib\site-packages\undetected_chromedriver\v2.py", line 24, in
from .cdp import CDP
File "C:\Users\zero-\AppData\Local\Programs\Python\Python310\lib\site-packages\undetected_chromedriver\cdp.py", line 6, in
from collections import Mapping, Sequence
ImportError: cannot import name 'Mapping' from 'collections' (C:\Users\zero-\AppData\Local\Programs\Python\Python310\lib\collections_init_.py)

Extremely low "Elo" score or potential shadowban

  1. Create new account
  2. Use phone number because you didn't figure out how badly Tinder's email servers are overrun
  3. Re-authenticate a lot of times in one day because of the above (delays of 5-10min)
  4. Like about 800 profiles with a randomised delay between 2-3s and a rate of 72.5%
  5. Don't get any matches whatsoever and be stuck at 4 likes

I guess either they fixed something, or this is some kind of filtering for newer profiles

Sing In With Google no longer works

Couldn’t sign you in
This browser or app may not be secure.
Try using a different browser. If you’re already using a supported browser, you can try again to sign in.

Seeing this error whenever I try to login with google

Should have a random sleep time to prevent tinder from detecting the bot?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Wont login with Facebook although element is present..


|_ ()_ __ | | ___ _ | | ___ | |
| | | | '
\ / ` |/ _ \ '__| ' \ / _ | |
| | | | | | | (| | __/ | | |) | () | |
|| ||| ||_,|_
|| |./ _/ __|

-> Made by Frederikme

Getting ChromeDriver ...
Adding Location Guard extension ...

[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Get LATEST driver version for 87.0.4280
[WDM] - Driver [C:\Users\Sander.wdm\drivers\chromedriver\win32\87.0.4280.20\chromedriver.exe] found in cache
User is not logged in yet.

Loading took an element too much time!. Please check your internet connection.
Alternatively, you can add a sleep or higher the delay class variable.

Bot wont login but element been present for 10 sec to login..

dislike people who faraway

Even if you put your location and set to show only ppl who close to you(for example 50 km away). It still gives you ppl who thousands of km from you. This is an annoying feature of Tinder.

So need to dislike everyone who far away.

To do that need to grep how far a person is and just make a check if the person below the distance we set

unable to login on google

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can't login using gmail because of chromedriver's security

The function session.login_using_gmail() isn't working mainly because chromedriver detects the script as a bot. This is a known problem, even after enabling Turn access to less secure apps. The only solution that I found on internet was to login on StackOverflow again and again and it'll eventually let you login on google. But since you must've tested this script, you might know a better way?

To Reproduce
Run session.login_using_google(email, password)
OS : Windows 10

Doesnt login

Seems like the bot is unable to press on the sign in on the top right corner once again, doesnt go past the first COOKIES ACCEPTED

image

Location code error

this is the error on quickstart code it always occurs , please also provide option for tinder passport as it comes in premium as also running tinder in two devices location might not change.

Traceback (most recent call last):
File "quickstart.py", line 13, in
session.set_custom_location("Leuven, Belgium")
File "/home/rushabh/Desktop/test-2/TinderBotz/tinderbotz/session.py", line 102, in set_custom_location
"latitude": float(data.get('latt')),
TypeError: float() argument must be a string or a number, not 'NoneType'

Message cannot be send

i get this error by the end of the session
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

match tab could not be found, trying again

COOKIES ACCEPTED.
COOKIES ACCEPTED.
ACCEPTED LOCATION.
DENIED NOTIFICATIONS.
match tab could not be found, trying again
match tab could not be found, trying again
match tab could not be found, trying again

any clue?

When trying to connect on gmail "This Browser/application is not secured"

Describe the bug

When trying to connect on gmail I got this error after the bot put the mail "This Browser/application is not secured" "Try to use an application/browser different"

I tried to allow low security on chromedriver and on my Gmail account but even after 3+ hours of searching I can't found a solution.

Screenshots
image

**Desktop :

  • OS: MacOS 10.15.7
  • Browser Chrome

Returning 'Successful Rate' Metadata for Scraped Photos?

Hey all,

I'm currently working on a project looking into the metadata of the success rate for each individual photo of a given profile (based off of Tinder's 'Smart Photos' feature, but I'm getting stumped at how to implement this. Can we integrate this feature into the geomatch code? Or any ideas on how to effectively do this?

Thank you for your time!

Still freeze :(

Still freeezes and is not sending any messages now :(

INPUT:

'''
Created by Frederikme (TeetiFM)
'''

from tinderbotz.session import Session
from tinderbotz.helpers.constants_helper import *

import constants

if __name__ == "__main__":

    # creates instance of session
    session = Session()

    # set location (Don't need to be logged in for this)
    #session.setCustomLocation("Leuven, Belgium")

    # Will send you an email when you have a match.
    #session.setEmailNotifications(True)

    # login using your google account with a verified email!
    #session.loginUsingGoogle(email=constants.email_google, password=constants.password_google)

    # Alternatively you can login using facebook with a connected profile!
    session.loginUsingFacebook(email="[email protected]", password="Facebookww#1")

    # adjust allowed distance for geomatches
    # Note: You need to be logged in for this setting
    # Note: PARAMETER IS IN KILOMETERS!
    #session.setDistanceRange(km=25)

    # set range of allowed ages
    # Note: You need to be logged in for this setting
#    session.setAgeRange(18, 55)

    # set interested in gender(s) -> options are: WOMEN, MEN, EVERYONE
#    session.setSexuality(Sexuality.WOMEN)

    # Allow profiles from all over the world to appear
#
    # spam likes, dislikes and superlikes
    # to avoid being banned:
    #   - it's best to apply a randomness in your liking by sometimes disliking.
    #   - some sleeping between two actions is recommended
    # NOTE: these recommendations apply mostly to large amounts of swiping (+100 likes)
    session.like(amount=10, ratio="72.5%", sleep=1)
    session.dislike(amount=1)


    # Getting matches takes a while, so recommended you load as much as possible from local storage
    # get new matches, with whom you haven't interacted yet
    new_matches = session.getNewMatches()
    # get already interacted with matches
    old_matches = session.getMessagedMatches()
    # get all matches (comment out new_matches and old_matches above so it doesnt load it all for no reason)
    matches = session.getAllMatches()

    # you can store the data and images of these matches now locally in data/matches
    for match in matches:
        session.storeLocal(match)

    # Pick up line with their personal name so it doesn't look spammy
    pickup_line = "Hey {}! You. Me. Pizza? Or do you not like pizza?"

    # loop through my new matches and send them the first message of the conversation
    for match in new_matches:
        # store name and chatid in variables so we can use it more simply later on
        name = match.getName()
        id = match.getChatID()

        print(name, id)

        # Format the match her/his name in your pickup line for a more personal approach.
        message = pickup_line.format(name)

        # send pick up line with their name in it to all my matches
        session.sendMessage(chatid=id, message=message)

        # send a funny gif
        #session.sendGif(chatid=id, gifname="")

        # send a funny song
    #    session.sendSong(chatid=id, songname="")

        # send my instagram or you can use alternative socials like facebook, phonenumber and snapchat
    #    session.sendSocials(chatid=id, media=Socials.INSTAGRAM, value="Teeti.fm")

        # you can also unmatch
        #session.unMatch(chatid=id)

    # let's scrape some geomatches now
    for _ in range(5):
        # get profile data (name, age, bio, images, ...)
        geomatch = session.getGeomatch()
        # store this data locally as json with reference to their respective (locally stored) images
        session.storeLocal(geomatch)
        # dislike the profile, so it will show us the next geomatch (since we got infinite amount of dislikes anyway)
        session.dislike()

OUTPUT:

        |_   _(_)_ __   __| | ___ _ __| |__   ___ | |_ ____
          | | | | '_ \ / _` |/ _ \ '__| '_ \ / _ \| __|_  /
          | | | | | | | (_| |  __/ |  | |_) | (_) | |_ / / 
          |_| |_|_| |_|\__,_|\___|_|  |_.__/ \___/ \__/___|
        ----------------------------------------------------
Made by Frederikme
Started session: 2020-11-27 14:59:07


Adding Location Guard extension ...
Getting ChromeDriver ...
 
[WDM] - Current google-chrome version is 87.0.4280
[WDM] - Get LATEST driver version for 87.0.4280
[WDM] - Driver [C:\Users\Sander\.wdm\drivers\chromedriver\win32\87.0.4280.20\chromedriver.exe] found in cache
User is not logged in yet.

COOKIES ACCEPTED.
COOKIES ACCEPTED.
ACCEPTED LOCATION.
DENIED NOTIFICATIONS.
ACCEPTING LOCATION: Loading took too much time! Element probably not presented, so we continue.
[>-----------------------------] 0% of the likes handled.
[======>-----------------------] 20% of the likes handled.
[=========>--------------------] 30% of the likes handled.
[============>-----------------] 40% of the likes handled.
[===============>--------------] 50% of the likes handled.
[==================>-----------] 60% of the likes handled.
[=====================>--------] 70% of the likes handled.
[========================>-----] 80% of the likes handled.
[===========================>--] 90% of the likes handled.
[==============================>] 100% of the likes handled.

[==============================>] 100% of the likes handled.

[>-----------------------------] 0% of the dislikes handled.
[==============================>] 100% of the dislikes handled.

Getting not-interacted-with, NEW MATCHES
[>-----------------------------] 0% of the new matches handled.
[>-----------------------------] 1% of the new matches handled.
[>-----------------------------] 3% of the new matches handled.
[=>----------------------------] 5% of the new matches handled.
[=>----------------------------] 6% of the new matches handled.
[==>---------------------------] 8% of the new matches handled.
[===>--------------------------] 10% of the new matches handled.
[===>--------------------------] 11% of the new matches handled.
[===>--------------------------] 13% of the new matches handled.
[====>-------------------------] 15% of the new matches handled.
[====>-------------------------] 16% of the new matches handled.
[=====>------------------------] 18% of the new matches handled.
[======>-----------------------] 20% of the new matches handled.
[======>-----------------------] 21% of the new matches handled.
[======>-----------------------] 23% of the new matches handled.
[=======>----------------------] 25% of the new matches handled.
[=======>----------------------] 26% of the new matches handled.
[========>---------------------] 28% of the new matches handled.
[=========>--------------------] 30% of the new matches handled.
[=========>--------------------] 31% of the new matches handled.
[=========>--------------------] 33% of the new matches handled.
[==========>-------------------] 35% of the new matches handled.
[==========>-------------------] 36% of the new matches handled.
[===========>------------------] 38% of the new matches handled.
[============>-----------------] 40% of the new matches handled.
[============>-----------------] 41% of the new matches handled.
[============>-----------------] 43% of the new matches handled.
[=============>----------------] 45% of the new matches handled.
[=============>----------------] 46% of the new matches handled.
[==============>---------------] 48% of the new matches handled.
[===============>--------------] 50% of the new matches handled.
[===============>--------------] 51% of the new matches handled.
[===============>--------------] 53% of the new matches handled.
[================>-------------] 55% of the new matches handled.
[================>-------------] 56% of the new matches handled.
[=================>------------] 58% of the new matches handled.
[==================>-----------] 60% of the new matches handled.
[==================>-----------] 61% of the new matches handled.
[==================>-----------] 63% of the new matches handled.
[===================>----------] 65% of the new matches handled.
[===================>----------] 66% of the new matches handled.
[====================>---------] 68% of the new matches handled.
[=====================>--------] 70% of the new matches handled.
[=====================>--------] 71% of the new matches handled.
[=====================>--------] 73% of the new matches handled.
[======================>-------] 75% of the new matches handled.
[======================>-------] 76% of the new matches handled.
[=======================>------] 78% of the new matches handled.
[========================>-----] 80% of the new matches handled.
[========================>-----] 81% of the new matches handled.
[========================>-----] 83% of the new matches handled.
[=========================>----] 85% of the new matches handled.
[=========================>----] 86% of the new matches handled.
[==========================>---] 88% of the new matches handled.
[===========================>--] 90% of the new matches handled.
[===========================>--] 91% of the new matches handled.
[===========================>--] 93% of the new matches handled.
[============================>-] 95% of the new matches handled.
[============================>-] 96% of the new matches handled.
[=============================>] 98% of the new matches handled.
[==============================>] 100% of the new matches handled.



Getting interacted-with, MESSAGED MATCHES
[>-----------------------------] 0% of the interacted-with-matches handled.
[>-----------------------------] 3% of the interacted-with-matches handled.
[=>----------------------------] 6% of the interacted-with-matches handled.
[==>---------------------------] 9% of the interacted-with-matches handled.
[===>--------------------------] 12% of the interacted-with-matches handled.
[====>-------------------------] 15% of the interacted-with-matches handled.
[=====>------------------------] 18% of the interacted-with-matches handled.
[======>-----------------------] 21% of the interacted-with-matches handled.
[=======>----------------------] 25% of the interacted-with-matches handled.
[========>---------------------] 28% of the interacted-with-matches handled.
[=========>--------------------] 31% of the interacted-with-matches handled.
[==========>-------------------] 34% of the interacted-with-matches handled.
[===========>------------------] 37% of the interacted-with-matches handled.
[============>-----------------] 40% of the interacted-with-matches handled.
[============>-----------------] 43% of the interacted-with-matches handled.
[=============>----------------] 46% of the interacted-with-matches handled.
[===============>--------------] 50% of the interacted-with-matches handled.
[===============>--------------] 53% of the interacted-with-matches handled.
[================>-------------] 56% of the interacted-with-matches handled.
[=================>------------] 59% of the interacted-with-matches handled.
[==================>-----------] 62% of the interacted-with-matches handled.
[===================>----------] 65% of the interacted-with-matches handled.
[====================>---------] 68% of the interacted-with-matches handled.
[=====================>--------] 71% of the interacted-with-matches handled.
[======================>-------] 75% of the interacted-with-matches handled.
[=======================>------] 78% of the interacted-with-matches handled.
[========================>-----] 81% of the interacted-with-matches handled.
[=========================>----] 84% of the interacted-with-matches handled.
[==========================>---] 87% of the interacted-with-matches handled.
[===========================>--] 90% of the interacted-with-matches handled.
[===========================>--] 93% of the interacted-with-matches handled.
[============================>-] 96% of the interacted-with-matches handled.
[==============================>] 100% of the interacted-with-matches handled.




Scraping matches can take a while!

Getting not-interacted-with, NEW MATCHES
[>-----------------------------] 0% of the new matches handled.
[>-----------------------------] 1% of the new matches handled.
[>-----------------------------] 3% of the new matches handled.
[=>----------------------------] 5% of the new matches handled.
[=>----------------------------] 6% of the new matches handled.
[==>---------------------------] 8% of the new matches handled.
[===>--------------------------] 10% of the new matches handled.
[===>--------------------------] 11% of the new matches handled.
[===>--------------------------] 13% of the new matches handled.
[====>-------------------------] 15% of the new matches handled.
[====>-------------------------] 16% of the new matches handled.
[=====>------------------------] 18% of the new matches handled.
[======>-----------------------] 20% of the new matches handled.
[======>-----------------------] 21% of the new matches handled.
[======>-----------------------] 23% of the new matches handled.
[=======>----------------------] 25% of the new matches handled.
[=======>----------------------] 26% of the new matches handled.
[========>---------------------] 28% of the new matches handled.
[=========>--------------------] 30% of the new matches handled.
[=========>--------------------] 31% of the new matches handled.
[=========>--------------------] 33% of the new matches handled.
[==========>-------------------] 35% of the new matches handled.
[==========>-------------------] 36% of the new matches handled.
[===========>------------------] 38% of the new matches handled.
[============>-----------------] 40% of the new matches handled.
[============>-----------------] 41% of the new matches handled.
[============>-----------------] 43% of the new matches handled.
[=============>----------------] 45% of the new matches handled.
[=============>----------------] 46% of the new matches handled.
[==============>---------------] 48% of the new matches handled.
[===============>--------------] 50% of the new matches handled.
[===============>--------------] 51% of the new matches handled.
[===============>--------------] 53% of the new matches handled.
[================>-------------] 55% of the new matches handled.
[================>-------------] 56% of the new matches handled.
[=================>------------] 58% of the new matches handled.
[==================>-----------] 60% of the new matches handled.
[==================>-----------] 61% of the new matches handled.
[==================>-----------] 63% of the new matches handled.
[===================>----------] 65% of the new matches handled.
[===================>----------] 66% of the new matches handled.
[====================>---------] 68% of the new matches handled.
[=====================>--------] 70% of the new matches handled.
[=====================>--------] 71% of the new matches handled.
[=====================>--------] 73% of the new matches handled.
[======================>-------] 75% of the new matches handled.
[======================>-------] 76% of the new matches handled.
[=======================>------] 78% of the new matches handled.
[========================>-----] 80% of the new matches handled.
[========================>-----] 81% of the new matches handled.
[========================>-----] 83% of the new matches handled.
[=========================>----] 85% of the new matches handled.
[=========================>----] 86% of the new matches handled.
[==========================>---] 88% of the new matches handled.
[===========================>--] 90% of the new matches handled.
[===========================>--] 91% of the new matches handled.
[===========================>--] 93% of the new matches handled.
[============================>-] 95% of the new matches handled.
[============================>-] 96% of the new matches handled.
[=============================>] 98% of the new matches handled.
[==============================>] 100% of the new matches handled.



Getting interacted-with, MESSAGED MATCHES
[>-----------------------------] 0% of the interacted-with-matches handled.
[>-----------------------------] 3% of the interacted-with-matches handled.
[=>----------------------------] 6% of the interacted-with-matches handled.
[==>---------------------------] 9% of the interacted-with-matches handled.
[===>--------------------------] 12% of the interacted-with-matches handled.
[====>-------------------------] 15% of the interacted-with-matches handled.
[=====>------------------------] 18% of the interacted-with-matches handled.
[======>-----------------------] 21% of the interacted-with-matches handled.
[=======>----------------------] 25% of the interacted-with-matches handled.
[========>---------------------] 28% of the interacted-with-matches handled.
[=========>--------------------] 31% of the interacted-with-matches handled.
[==========>-------------------] 34% of the interacted-with-matches handled.
[===========>------------------] 37% of the interacted-with-matches handled.
[============>-----------------] 40% of the interacted-with-matches handled.
[============>-----------------] 43% of the interacted-with-matches handled.
[=============>----------------] 46% of the interacted-with-matches handled.
[===============>--------------] 50% of the interacted-with-matches handled.
[===============>--------------] 53% of the interacted-with-matches handled.
[================>-------------] 56% of the interacted-with-matches handled.
[=================>------------] 59% of the interacted-with-matches handled.
[==================>-----------] 62% of the interacted-with-matches handled.
[===================>----------] 65% of the interacted-with-matches handled.
[====================>---------] 68% of the interacted-with-matches handled.
[=====================>--------] 71% of the interacted-with-matches handled.
[======================>-------] 75% of the interacted-with-matches handled.
[=======================>------] 78% of the interacted-with-matches handled.
[========================>-----] 81% of the interacted-with-matches handled.
[=========================>----] 84% of the interacted-with-matches handled.
[==========================>---] 87% of the interacted-with-matches handled.
[===========================>--] 90% of the interacted-with-matches handled.
[===========================>--] 93% of the interacted-with-matches handled.
[============================>-] 96% of the interacted-with-matches handled.
[==============================>] 100% of the interacted-with-matches handled.



Image saved as C:\Users\Sander\Documents\TinderBot/data/matches/images/d941d2c8f4e367782265e61b68e48613.jpg
Traceback (most recent call last):
  File "C:\Users\Sander\Documents\TinderBot\quickstart.py", line 60, in <module>
    session.storeLocal(match)
  File "C:\Users\Sander\Documents\TinderBot\tinderbotz\session.py", line 166, in storeLocal
    StorageHelper.storeMatch(match=match, directory='data/{}'.format(filename), filename=filename)
  File "C:\Users\Sander\Documents\TinderBot\tinderbotz\helpers\storage_helper.py", line 102, in storeMatch
    data = json.load(fp)
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "C:\Users\Sander\Documents\TinderBot\tinderbotz\session.py", line 79, in cleanup
    print(self.msg_box(lines=lines, title="Tinderbotz"))
  File "C:\Users\Sander\AppData\Local\Programs\Python\Python38-32\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-17: character maps to <undefined>

TinderBotz on Raspberry Pi

Hello,

I want to install the Bot on a RPI 3b.

I installed the Script and all requirements from the text file.

Bildschirmfoto 2021-03-22 um 22 52 27

Now I got the Error, Chrome is not found on my device. I only have installed Chromium.

It is not possible to install the original Chrome on the RPI. Because the architecture is armf and not x86.

There are some Emulators on the market, where you can emulate your pi to x86.
But maybe it is not necessary?

Thanks for any answer.
Mark

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.