npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tinderous

v0.1.2

Published

An attempt to automate tinder, basic bot and some extra features

Downloads

4

Readme

Tinderous

A tinder bot/automation utility for social experimentation.

Supports mass-liking and mass-messaging together with some additional convenience features - see config file description below.

Facebook User Id and Facebook Access Token retrieval is automated via Selenium Chrome driver (included is only the windows version, tested as working on Windows 8.1 and Chrome 50.0.2661.102 m)

Built on top of https://www.npmjs.com/package/tinder (https://github.com/tinderjs/tinderjs).

TODO:

  • implement a statistics and reports generator, cache all recommendations :)
  • crossplatform access token retrieval (currently only tested with windows & chrome, to make it crossplatform, other Selenium Chrome drivers should be included)

Run instructions

  1. npm install tinderous && move node_modules/tinderous . && move node_modules tinderous/ && cd tinderous

  2. Create config.json (copy/paste example below) inside tinderous directory.

    Most options can be left default. "fbUserId" and "fbUserAccessToken" must be specified or "user" and "password" must be specified in order to automatically retrieve the first two.

    Facebook access token can be acquired via https://www.facebook.com/dialog/oauth?client_id=464891386855067&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=basic_info,email,public_profile,user_about_me,user_activities,user_birthday,user_education_history,user_friends,user_interests,user_likes,user_location,user_photos,user_relationship_details&response_type=token

  3. Run npm start

Dependencies

  • Facebook User Id and Facebook Access Token retrieval requires Chrome to be installed, if they are provided by the user, this step is skipped

Structure

Typescript source files are in /src. Entry point is /src/start.ts, main logic is in /src/tinderBotAsync.ts

Runtime .js files are output to /bin when compiled. Startup point is /bin/start.js

For more info see tsconfig.json and package.json

config.json

[
    {
        "debug": false,
        "user": "",
        "password": "",
        "fbUserId": "",
        "fbUserAccessToken": ""
        "_comment": "you can get the access token via https://www.facebook.com/dialog/oauth?client_id=464891386855067&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=basic_info,email,public_profile,user_about_me,user_activities,user_birthday,user_education_history,user_friends,user_interests,user_likes,user_location,user_photos,user_relationship_details&response_type=token",
        "swipeRightProbability": 1,
        "filterBioByKeywords": {
            "whitelist": [],
            "blacklist": []
        },
        "skipNoBio": false,
        "skipNoPhoto": true,
        "sendMessageDelayMs": 5000,
        "swipeRightDelayMs": 2000,
        "cooldownPeriodAfterError": 3600000,
        "messageNewMatches": true,
        "messageOldMatches": false,
        "messageContent": {
            "_comment": {
                "full": "Each match gets all of the messages in order of appearance",
                "one-random": "Each match gets one message picked at random from the message pool"
            },
            "strategy": "full",
            "messages": [
                "Hey $name, you look younger than $age.",
                "Hey there, this is a second message.",
                "Hey there, this is a third message."
            ]
        },
    }
]

Full config structure is required, there are no defaults. If some options not needed, disable them by setting a proper value, do not delete the properties themselves.

  • debug - enables some debugging features, mostly dumps json responses to disk
  • user - email used to login into facebook
  • password - password used to login into facebook
  • fbUserId - facebook user id
  • fbUserAccessToken - facebok access token
  • swipeRightProbability - how often to swipe right (between 0 and 1)
  • filterBioByKeywords.whitelist - ignore any person who does not have a whitelisted word in the bio (disabled if unpopulated, precendece over blacklist)
  • filterBioByKeywords.blacklist - ignore any person who has a blacklisted word in the bio (disabled if unpopulated)
  • skipNoBio - ignore persons without a bio
  • skipNoPhoto - ignore persons without a photo
  • sendMessageDelayMs - delay between messages when messaging old matches or when sending multiple messages to one match
  • swipeRightDelayMs - delay between right-swipes
  • cooldownPeriodAfterError - if there are no more matches, the number of daily likes allowed is reached, if there is a timeout or a connection/api error, cool off for this amount of milliseconds before restarting the bot
  • messageNewMatches - if true will auto-message any new matches since the bot has started TODO: ne ve msgjat, samo tiste brez zgodovine!! messageOldMatches - if true will auto-message any matches that have never been messaged before
  • messageContent.strategy - full will message every match with all messages specified in the config, one-random will pick only one random message from the pool and send it to the match
  • messageContent.messages - message pool, variables $name and $age can be used and will be resolved at runtime

Editing source (for developers)

git clone https://github.com/pingec/tinderous.git

Edit files in /src then do npm run compile to compile to /bin and then npm start to run /bin/start.js

For more info see package.json and tsconfig.json