Lync SDK get sent or received text - sdk

Before anything I already saw this post:
Lync ConversationRemoved get current conversation text
I implemented that solution, but I really need to get the already sent or received text. The thing is, although I have my application registered as automatically open, if I get messaged with my window closed, I loose the first text (that's just an example). Anybody know how can I get the text?
I can't find it anywhere. Not in Conversation class or ConversationManager.
English is not my native language, hope you can understand me anyways.

You're missing the first text, I'm assuming you mean that the first line is missing? The text that starts the IM conversation can be found in the so-called "Toast".
The toast is the popup you get on your Lync client when a new conversation is started. In case of IM conversations, the first message is part of the toast and shown to the user in this popup. It is not send over the instant messaging flow.
MSDN documentation: ToastMessage class
The ToastMessage is a property of InviteReceivedEventArgs [MSDN]. Your incoming call handler will probably handle CallReceivedEventArgs, which inherits InviteReceivedEventArgs.
private void OnIncomingInstantMessagingCallReceived(
object sender,
CallReceivedEventArgs<InstantMessagingCall> e)
{
var toast = e.ToastMessage; // There she is. Mind you it can be null too.
}

If I understand the question correctly, you want to get the conversation that happened before your application connected? Like, getting a history? I don't think this is possible in the API - you can't use the API to look at historical data, only what is happening "now". You might have some success looking in the Lync database (though I don't know where!)

Related

Changing messages on Slack

So I'm attempting to change a message in slack through my slackbot at the end of a chain of events. I'm able to change it for the first few instances, but I'm not able to do the very last one. I'm 99% sure that it is because I have reached the 5 interactions limit since I am indeed going through 5 interactions with the user prior to my final message. If this is the case, is there a way to change a message without server responses? I ask because the last message is simply a thank you message to the user for participating. It doesn't actually require any input from data on the server to accomplish. I feel like I read about doing it somewhere, but for the life of me I cannot find it again. Any help or links would be greatly appreciated!
EDIT: The user is interacting with buttons through interactive messages to respond to some questions. The current method of updating messages are with chat.update and setting "response_type": "ephemeral" within the json params that I am sending.
An alternative method to using chat.update is to simply reply with the message to the request from Slack. This will replace the existing message by default. It has no limit that I am aware of, so it solves your problem.
This works great with slash commands and interactive messages.
See here for more details.

Parse: Basic App to App Communication

I am trying to figure out what the basic steps are for getting data passed between users. For example, say I, a user of the app, want to send another user of my app a message or a geopoint or some other form of data. I know the first step would be posting the data to Parse, which I don't have a problem with. But then, how would the other user know there is data to retrieve and also how would they go about retrieving it. Are push notifications the proper and only way of letting the recipient's app know its being sent something? When the recipient app knows there is data posted intended for it to retrieve, how does it go about locating it with a PFQuery? Does the posting app need to supply the receiving app with a UID of some form that the receiving app can then use in its query to locate the data? This is kind of the last puzzle piece for my app and unfortunately it's the only thing Parse didn't make clear to me. It is more than likely user error on my part not finding the correct documentation but, app to app communication is key in most apps and so I need to figure out the defacto way that Parse accomplishes this. Thanks in advance for any help!
You can have a relational table lets say "Messages" table in Parse,
with properties, sender (Pointer to a User), recipient (Pointer to a User) and message (String). and maybe a 'read' Boolean.
You could then query the messages table, With something like:
PSEUDO:
get all messages where recipient is equal to logged in user.
and display these messages on the UI.
Its pretty straightforward, I have done simple messaging service with Parse before
Thanks guys! In the end, I think it is best for a device to not have to be querying for changes but rather to be notified when it has new data to retrieve. Thus, for my uses, I think a combination of your answers, especially with the "onSave" hook function mentioned by Bruno, is the best solution.

Twilio Application to call another person if one call fails

I am studying twilio's auto calling functionality for the one of our client.
Requirements:
We are handling software system of our client. And when ever there is error in
the system I need to call specific persons.
I could do above function easily on testing environment using php. But In actual scenario,
I want call on multiple number like if one person is not receiving call I must get call
on second number, third number and so on until one person receives call and understands error.
For the above functionality I have studied "Call Screening " example from site and also
communicate to support person but I didn't get exactly from the conversation.
When I call attempt_call.php from my browser I am getting xml output on browser only not any call.
Please guide me if any ready example is there that can solve my problem.
Thanks and best regards.
Piyush Merja
CallScreening didnt work for me..
I have called to one person and checked for its status if its completed then process terminated or continued to another person

is it possible to send a directed flash message in rails?

this is kind of a dumb question, but is it possible to send a
flash[:success]
directed to a certain user other than the current user on the screen? in one of my controllers i have
if #article.up_votes.count > 10
flash[:success ] = 'something'
end
is it possible to send that flash to the owner of the article? as opposed to my own screen? or is there another way to do this?
i tried looking through
http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html#method-i-notice
but couldn't find any method that would help. maybe i am reading it wrong? is there a way to achieve the same effect then?
thank you...
Not using flash, you'd have to try something else, there are lots of ways to go about it, but flash isn't one of them. Well, you could still use flash, but it wouldn't be to send from one user to another, you could cause a flash message to appear for the user being notified.
First thing to figure out is how do you notify the other user, when would he get that notification, do you want him to get notified anytime he using your site? Or only if he does something specific on your site?
For what I know the best way to go, maybe the only way actually is push notifications. There are many ways to achieve this but I think faye should be the easiest.
See this screencast to understand it and later. You want to have a channel for each user so it will be the one to get that message. Further search for private pub so nobody's can listen to others channel
http://railscasts.com/episodes/260-messaging-with-faye
http://railscasts.com/episodes/316-private-pub
As ismaelga mentioned I also think push notifications is the way to go (WebSockets).
In addition to Faye you can use a hosted solution called Pusher (pusher.com).
Here is a really short description about how Pusher can help you. Bassically all users using your application listens for messages on a WebSocket-server (through JavaScript). In this case Pusher. You can then send messages to Pusher via your Rails application. When you send a message to Pusher, all users will instantly be notified about the new message via JavaScript (through the WebSocket). To only notify a specific user you can use Pusher's "private channels"-feature.
Pusher have some really good documentation on how to use their service: http://pusher.com/docs/javascript_quick_start
This picture (taken from Nettuts+) might also give you a better understanding of how Pusher works: http://d2o0t5hpnwv4c1.cloudfront.net/1059_pusher/pusher_websocket.png
Hope this helps a bit.

Passing message to another window

I would like to write an application which passes every message it receives to another window. For example, I have an application where user can press some keys, move mouse over it, etc. and I want all these messages passed to, for example, MS Paint.
How do I do this? Any ideas? As far as I know, there may be a problem with sending key strokes to another window, so please advice as well.
EDIT
Okay, maybe I will give you more description of what I'm looking for.
My applications displays a window of another application on the form. Now I would like to control the other window using messages sent to my application's form (like key downs, mouse moves, etc.).
I have been thinking of passing all the messages my form receives to the window of the application I'm kind of 'embedding' into my own. By 'embedding' I mean making the application window display on my form.
Maybe there's another solution to my problem. Please advice.
Thank you for your time.
Some messages (i.e. input messages) arrive through the message queue and the rest are delivered straight to the recipient windows. What you are asking to do therefore requires you to do all of the following:
Implement a top level message loop that retrieves messages from the queue and sends them to the other app.
Reimplement all modal window loops to pass all messages on.
Replace the window procedure for all windows in your process with one that passes all messages on to the other app.
Look for other opportunities for messages to arrive that I have not covered.
I can't imagine that this is really going to be the solution to your problem, whatever that problem is.
Forwarding the messages is definitely possible and easy, but it likely won't do what you are expecting. Take a look here.
Override the form's DefaultHandler() and post every message it gets to the other form. If there are any explicit message handlers in the form or even some controls then you may not see those messages in DefaultHandler().

Resources