public void RequestGetDirectMessage(Action<TwitterDirectMessageCollection> action) { DirectMessagesOptions option = new DirectMessagesOptions(); option.APIBaseAddress = Whisper.Properties.Settings.Default.APIBaseAddress; TwitterResponse<TwitterDirectMessageCollection> response = TwitterDirectMessage.DirectMessages(_tokens, option); if (response.Result == RequestResult.Success) { action(response.ResponseObject); } }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options.</param> /// <param name="timeout">The timeout.</param> /// <param name="function">The function.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static IAsyncResult DirectMessages(OAuthTokens tokens, DirectMessagesOptions options, TimeSpan timeout, Action<TwitterAsyncResponse<TwitterDirectMessageCollection>> function) { Func<OAuthTokens, DirectMessagesOptions, TwitterResponse<TwitterDirectMessageCollection>> methodToCall = TwitterDirectMessage.DirectMessages; return methodToCall.BeginInvoke( tokens, options, result => { result.AsyncWaitHandle.WaitOne(timeout); try { function(methodToCall.EndInvoke(result).ToAsyncResponse()); } catch (Exception ex) { function(new TwitterAsyncResponse<TwitterDirectMessageCollection>() { Result = RequestResult.Unknown, ExceptionThrown = ex }); } }, null); }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static TwitterResponse <TwitterDirectMessageCollection> DirectMessages(OAuthTokens tokens, DirectMessagesOptions options) { return(CommandPerformer.PerformAction(new Commands.DirectMessagesCommand(tokens, options))); }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static TwitterResponse<TwitterDirectMessageCollection> DirectMessages(OAuthTokens tokens, DirectMessagesOptions options) { return CommandPerformer.PerformAction(new Commands.DirectMessagesCommand(tokens, options)); }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options.</param> /// <param name="timeout">The timeout.</param> /// <param name="function">The function.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static IAsyncResult DirectMessages(OAuthTokens tokens, DirectMessagesOptions options, TimeSpan timeout, Action <TwitterAsyncResponse <TwitterDirectMessageCollection> > function) { return(AsyncUtility.ExecuteAsyncMethod(tokens, options, timeout, TwitterDirectMessage.DirectMessages, function)); }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options. Leave null for defaults.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static async Task <TwitterResponse <TwitterDirectMessageCollection> > ReceivedAsync(OAuthTokens tokens, DirectMessagesOptions options = null) { return(await Core.CommandPerformer.PerformAction(new Commands.DirectMessagesCommand(tokens, options))); }
private void UpdateDirectMessages() { Trace.Call(); #if LOG4NET f_Logger.Debug("UpdateDirectMessages(): getting received direct messages from twitter..."); #endif var options = new DirectMessagesOptions() { Proxy = f_WebProxy, SinceStatusId = f_LastDirectMessageReceivedStatusID, Count = 50 }; var receivedTimeline = TwitterDirectMessage.DirectMessages( f_OAuthTokens, options ); #if LOG4NET f_Logger.Debug("UpdateDirectMessages(): done. New messages: " + (receivedTimeline == null ? 0 : receivedTimeline.Count)); #endif #if LOG4NET f_Logger.Debug("UpdateDirectMessages(): getting sent direct messages from twitter..."); #endif var sentOptions = new DirectMessagesSentOptions() { Proxy = f_WebProxy, SinceStatusId = f_LastDirectMessageSentStatusID, Count = 50 }; var sentTimeline = TwitterDirectMessage.DirectMessagesSent( f_OAuthTokens, sentOptions ); #if LOG4NET f_Logger.Debug("UpdateDirectMessages(): done. New messages: " + (sentTimeline == null ? 0 : sentTimeline.Count)); #endif var timeline = new TwitterDirectMessageCollection(); if (receivedTimeline != null) { foreach (TwitterDirectMessage msg in receivedTimeline) { timeline.Add(msg); } } if (sentTimeline != null) { foreach (TwitterDirectMessage msg in sentTimeline) { timeline.Add(msg); } } if (timeline.Count == 0) { // nothing to do return; } var sortedTimeline = SortTimeline(timeline); foreach (TwitterDirectMessage directMsg in sortedTimeline) { // if this isn't the first time a receive a direct message, // this is a new one! bool highlight = receivedTimeline.Contains(directMsg) && f_LastDirectMessageReceivedStatusID != 0; MessageModel msg = CreateMessage( directMsg.CreatedDate, directMsg.Sender, directMsg.Text, highlight ); Session.AddMessageToChat(f_DirectMessagesChat, msg); // if there is a tab open for this user put the message there too string userId; if (receivedTimeline.Contains(directMsg)) { // this is a received message userId = directMsg.SenderId.ToString(); } else { // this is a sent message userId = directMsg.RecipientId.ToString(); } ChatModel chat = Session.GetChat( userId, ChatType.Person, this ); if (chat != null) { Session.AddMessageToChat(chat, msg); } } if (receivedTimeline != null) { // first one is the newest foreach (TwitterDirectMessage msg in receivedTimeline) { f_LastDirectMessageReceivedStatusID = msg.Id; break; } } if (sentTimeline != null) { // first one is the newest foreach (TwitterDirectMessage msg in sentTimeline) { f_LastDirectMessageSentStatusID = msg.Id; break; } } }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options. Leave null for defaults.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static async Task<TwitterResponse<TwitterDirectMessageCollection>> ReceivedAsync(OAuthTokens tokens, DirectMessagesOptions options = null) { return await Core.CommandPerformer.PerformAction(new Commands.DirectMessagesCommand(tokens, options)); }
/// <summary> /// Returns a list of the 20 most recent direct messages sent to the authenticating user. /// </summary> /// <param name="tokens">The tokens.</param> /// <param name="options">The options.</param> /// <param name="timeout">The timeout.</param> /// <param name="function">The function.</param> /// <returns> /// A <see cref="TwitterDirectMessageCollection"/> instance. /// </returns> public static IAsyncResult DirectMessages(OAuthTokens tokens, DirectMessagesOptions options, TimeSpan timeout, Action<TwitterAsyncResponse<TwitterDirectMessageCollection>> function) { return AsyncUtility.ExecuteAsyncMethod(tokens, options, timeout, TwitterDirectMessage.DirectMessages, function); }