Play framework, limit an action to be done once - playframework-2.2

I have a button follow on my website, you can toggle it on or off as much as you want.
Each time it sends a notification mail to the followed people. I don't want him to be spammed.
So I want Play Framework not to send this mail twice (twice in a day, for example)
Is there any built-in mechanism or any library of play framework to do it?
Thanks !
EDIT :
Preferably an external service, like Mailjet or mailchimp.

Just save notification to DB instead of sending it immediately - so user can decide how often he want's to get it.
Next use Akka scheduler for sending many notifications in single emails from time to time.

Related

API Whatsapp to send messages from an external application

I want to implement Whatsapp
to send information from an external application. The idea is to use this
external application to send information throughout Whatsapp.
If you can help me about the terms and
conditions and if this query is possible to develop.
There is a way through which you can send WhatsApp message from your self created application. Use this link Chat API.
But it only provides 3 days trail period and after that you have to purchase it.
The process in that is, you have to register with your google account, then scan the QR code provided(which changes after every 45 seconds). and you are set to go, they will provide you the API for : PHP, Node.JS, Jquery, CURL.
One thing more you always have to keep your phone connected with the internet everytime.
Also I found a drawback in that, i.e. they also provide API to read messages, but it is too slow, as in my condition I can see my messages of yesterday but not of today.

How do you get notifications from a WebHook Connector posting?

I am building an AWS Lambda function that posts CloudWatch event notifications to our MS Teams group using the Incoming WebHook connector. Everything seems to work great, the messages are formatted nicely, images work fine, sections are good, etc. However, there I can't seem to generate any notifications (banner, email, etc.) when the message get's posted. The UI updates correctly (bolded channel name, "New Messages" widget, etc.) but that's it.
I need to be actively notified when some things happen. For example, when someone does something unusual in AWS I want to know about it immediately. I don't want to have to look at the GUI to see if anything happened. This is a basic functionality that is in almost every other chat application. How do I turn it on for messages coming from the WebHook Connector?

Dropbox API: Get Notified On File Events Without Polling

I found this post on getting Notified when a file changes on dropbox. The problem is that the "/delta" API endpoint requires polling. I want instead to subscribe to events about file changes.
Ideally, I could subscribe to both "new file" and "file updated" events for a specific folder. I could then give dropbox a URL pointing to my own app that would be called when those events occurred. This is similar to how Twilio works. You can provide a URL to be POSTed to whenever your phone number receives a text message, and then your app can respond to POSTs to that URL however it wants. This seems like a much more elegant solution than polling -- is there any way to do it with the dropbox API?
UPDATE 6/5/2014
We actually have webhooks now: https://www.dropbox.com/developers/webhooks
(original reply below)
No, Dropbox doesn't support this.
BTW, the general term for the sort of notification you describe is a "webhook."
http://developers.box.com/webhooks/
it seems like Box API has webhook. You may want to try it.
I received an email today regarding Dropbox WebHooks that is in the beta phase:
If you're interested in helping us out, just click through to fill out
your information, and we'll be in touch:
https://dropboxapi.wufoo.com/forms/dropbox-webhooks-api-beta-feedback-contact-info
Happy Dropboxing!
Dropbox now offers webhooks, although not with a event_type filter
https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks

Get Notified when a file changes on dropbox

Does dropbox have a way of notifying when a file changes i.e arrival of new uploads or a file has changed.
Though you will still have to poll, there's a relatively new API endpoint called /delta that will let you poll much more efficiently than the /metadata endpoint.
It's better than using the RSS feed.
As Kannan points out, there's a new API endpoint called /delta that's better than polling or RSS.
This can also be used in conjunction with the /longpoll_delta API endpoint :
A long-poll endpoint to wait for changes on an account. In conjunction
with /delta, this call gives you a low-latency way to monitor an account
for file changes.
This delta API can be called to get sync
http://forums.dropbox.com/topic.php?id=53533
Dropbox now officially offers Webhooks https://www.dropbox.com/developers/blog/90/announcing-dropbox-webhooks
Dropbox recently announced WebHooks!
If you're interested in helping us out, just click through to fill out
your information, and we'll be in touch:
Happy Dropboxing!
Though Dropbox's delta API is used to get a list of all the modified file details, a webhook is what one needs to get notified about a change (change being modification, addition or deletion of a file)
Go to: Dropbox Developer App Console
Click on your App that contains the files whose changes you want to be notified.
Scroll down to "WEBHOOK"
Paste the link that will handle the notifications via POST method.
Click ENABLE.
Moment you click enable, the dropbox sends a request to the link you entered to see if it responds to the GET request or not. You need to make sure that the link does respond to it. If working with Python and Flask frame work, following two lines of code is sufficient:
#app.route('/webhook', methods=['GET'])
def verify():
'''Respond to the webhook verification (GET request) by echoing back the challenge parameter.'''
return request.args.get('challenge')
Now you will be notified via POST to the above link every time a change is made to dropbox.
Deal with the notifications the way you want to. :)
If you have a computer with Dropbox installed that is always on, you can set a script to run whenever Dropbox pops up a change notification. That script could then grab the change log using RSS (or the /delta API) and if the file/directory you're interested has changed, send a notification.
On Mac, Dropbox can send notifications to Growl and you can tell Growl to run your script. On Windows you will need to monitor for Notifications in the system tray using something like gTraySpy. Growl for Windows can do this if you install the Windows Balloons plugin.
As long as you can get a script to run when a change has occurred, it's just a matter of parsing the change log and performing an action when certain item(s) have changed.
Dropbox has a new long polling endpoint for deltas:
https://www.dropbox.com/developers/blog/63/low-latency-notification-of-dropbox-file-changes
Dropbox SYNC API is the way to go
DBPath *path = [DBPath root];
[fileSystem addObserver:self forPathAndChildren:path block:^() {
NSLog(#"something changed in your dropbox folder!");
}];

Is it possible to mark the message thread with 'unseen=0'?

I work on Google Chrome extension for facebook.
I have a button and if you click on it, a popup with latest active threads appears. I want to say to facebook server that no threads are 'unseen' afterwards. So that the messages jewel on Facebook main page will show no notifications.
Can I do this with Graph API? POST calls to graph.facebook.com/thread_id with unseen=0 don't work.
Alternatives?
You do not have write access to the inbox. Only read access read_mailbox. Sorry, but that's the only permission that Facebook currently has available. See: https://developers.facebook.com/docs/reference/api/permissions/
However, you can keep track of the inbox items on a remote server's data store and have your plugin query that to know what's been "seen". So at least from your plugin's perspective, things are showing up correctly.