osmlab / checkin-checker

A simple application that notifies you when a Foursquare checkin venue doesn't exist in OSM.
https://checkin-checker.dev.openstreetmap.us/
MIT License
19 stars 3 forks source link

Offer some way of ignoring checkins #4

Closed iandees closed 7 years ago

iandees commented 8 years ago

People check in to some places frequently and if the place is in OSM but with a different name or the Overpass query doesn't find the place in OSM they'll keep getting the e-mail even if it is there or they can't/won't do anything about it.

We should have some way of ignoring a checkin. I'm thinking it be specific to the user/venue combination?

mvexel commented 8 years ago

On top of that, a 'stop bugging me' link at the bottom of the email is good practice.

iandees commented 8 years ago

The "stop bugging me" link is the line that says "Uninstall at https://foursquare.com/settings/connections to stop these e-mails." Basically, the right way to stop sending emails is for the user to tell Foursquare to stop sending me webhooks.

mvexel commented 8 years ago

I see the code that should generate this, but my email body does not contain it:

Hi Martijn,

Your recent checkin to Tulie Bakery seems to match something in OpenStreetMap. While you're visiting this place, try collecting these missing attributes for OpenStreetMap:

 - What is the housenumber?
 - What is the street name?
 - What is the phone number?

If you want, you can reply to this email and Ian will make these changes, or you can save your email as a draft/note to yourself for later.

If you'd like to edit the OSM object directly, use this edit link:
https://www.openstreetmap.org/edit?node=1409035678

To remind you where you went, here's a link to your checkin. Remember that you should not copy from external sources (like Foursquare) when editing.
https://foursquare.com/user/18731/checkin/577406b8498e12a90fa9a057
iandees commented 8 years ago

If you use Gmail, they hide it as part of the footer of the email. Click the little image thing and then you get:

image

mvexel commented 8 years ago

That's because you are a geek and use dash dash space as a delimiter šŸ”

stevevance commented 8 years ago

What is the body of the webhook? Foursquare keeps track of how many times a user has checked into a place. Is this data transmitted in the webhook payload?

iandees commented 8 years ago

I don't know if the webhooks includes a "number of times at this place". Even if it's there, I think I'd rather keep track of it myself to cover the case of someone who has checked in to a place a billion times and then joins checkin-checker. I still want to pay attention to that first checkin.

talllguy commented 8 years ago

For gmail, you can include a header to make unsubscribing super simple: https://support.google.com/mail/answer/81126?hl=en

souperneon commented 7 years ago

Lemme jump in and party over hereā€¦ Ideally, if I have clicked on links in an email for a place or somehow edited that place in the past with checkin checker, it will be nice to not be nudged about it again. Use case being, I regularly go to Sweetgreen NoMad and I have made that POI tippy top and I don't need to get emails about that anymore :)

iandees commented 7 years ago

Ok, this is fixed in 5aa1d00715868de729525e7758024f346ea09aa1.

I'm storing the user ID + venue ID combination in Redis and checking for it every time I process a checkin. This means you'll only get one email per venue. I will probably clear out this cache if I add new questions to the "matched" email or if the Redis server goes down (which it will do eventually because it's a free Heroku instance).

souperneon commented 7 years ago