public static string Write(StructuredMessage message) { return(""); /* * var jObject = new JObject(); * jObject.Add("time", message.CreationDate); * jObject.Add("template", message.Template); * * foreach (var messageValue in message.Values) * { * object value = null; * if (messageValue.Value.Hole.Prefix == HolePrefix.Destructuring) * { * value = messageValue.Value.Value; * } * else if (messageValue.Value.Hole.Prefix == HolePrefix.Stringification) * { * value = messageValue.Value.Value.ToString(); * } * else * { * value = messageValue.Value.Value.ToString(); * } * jObject.Add(messageValue.Key.Id.NamedId, JToken.FromObject(value)); * } * foreach (var messageValue in message.ContextValues) * { * jObject.Add(messageValue.Key, JToken.FromObject(messageValue.Value)); * } * * return jObject.ToString(); */ }
/// <summary> /// Initialises a new instance of the Skycap.Common.Net.Tasks.MessageQueuedTask class. /// </summary> /// <param name="queuedTaskType">The type of queued task.</param> /// <param name="mailbox">The mailbox.</param> /// <param name="uid">The unique id of the message.</param> /// <param name="message">The message.</param> public MessageMailboxPrioritisedQueuedTask(PrioritisedQueuedTaskType queuedTaskType, Mailbox mailbox, string uid, StructuredMessage message) : base(queuedTaskType, mailbox) { // Initialise local variables Uid = uid; Message = message; }
public bool Validate(StructuredMessage message, string tag) { if (TemplatedMessageValidator != null) { return(TemplatedMessageValidator(message, tag)); } return(true); }
public bool Validate(StructuredMessage message, string tag) { if (Whitelist.Contains(tag)) { return(true); } return(false); }
/// <summary> /// Marks a message as flagged. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message to mark as flagged.</param> /// <param name="response">The response.</param> /// <returns>The response type.</returns> protected override CommandResponseType MarkAsFlaggedCommand(Mailbox mailbox, StructuredMessage message, out string response) { try { CompletionResponse markAsFlaggedResponse = _client.MarkAsFlagged(new SequenceNumber(uint.Parse(message.Uid)), mailbox); response = markAsFlaggedResponse.Message; return(GetCommandResponseType(markAsFlaggedResponse.CompletionResult)); } catch (Exception ex) { response = ex.ToString(); return(CommandResponseType.Bad); } }
/// <summary> /// Saves a message to drafts folder. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message.</param> /// <param name="response">The response.</param> /// <param name="uid">The uid.</param> /// <returns>The response type.</returns> protected override CommandResponseType SaveToDraftsCommand(Mailbox mailbox, StructuredMessage message, out string response, out string uid) { try { CompletionResponse removeMailboxResponse = _client.Append(mailbox, message, out uid); response = removeMailboxResponse.Message; return(GetCommandResponseType(removeMailboxResponse.CompletionResult)); } catch (Exception ex) { response = ex.ToString(); uid = string.Empty; return(CommandResponseType.Bad); } }
public MessageOrStructuredMessage(string value, TransactionCode transactionCode) { Helpers.ValidateStringMultipleLengths(value, new[] { 54, 74 }, "MessageOrStructuredMessage"); var hasStructuredMessage = value.Substring(0, 1) == "1" ? true : false; StructuredMessage = null; Message = null; if (hasStructuredMessage) { StructuredMessage = new StructuredMessage(value.Substring(1), transactionCode); } else { Message = new Message(value.Substring(1)); } }
public override void ProcessMessage(StructuredMessage message, string tag) { if (DiscordClient == null || OutputChannels.Count == 0) { return; } DiscordEmbedBuilder builder = new DiscordEmbedBuilder(); if (!string.IsNullOrWhiteSpace(message.EntryName)) { builder.WithAuthor(message.EntryName); } builder.Timestamp = message.CreationDate; builder.Title = message.Template; builder.Description = TemplateProcessor.ProcessMessage(message); foreach (var messageValue in message.Values) { builder.AddField(messageValue.Key.Id.ToString(), new StringConverter().Convert(messageValue.Value.Value), true); } foreach (var contextValue in message.ContextValues) { builder.AddField($"[CONTEXT] {contextValue.Key}", new StringConverter().Convert(contextValue.Value), true); } foreach (var item in OutputChannels) { if (item.Key != tag && !string.IsNullOrEmpty(item.Key)) { continue; } var embed = builder.Build(); foreach (var channelId in item.Value) { Send(embed, channelId); } } }
/// <summary> /// Downloads a message. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="statisticInfo">The statistic info.</param> /// <param name="response">The response.</param> /// <param name="message">The message.</param> /// <returns>The response type.</returns> protected override CommandResponseType DownloadMessageCommand(Mailbox mailbox, StatisticInfo statisticInfo, out string response, out StructuredMessage message) { try { message = _client.GetMessage(statisticInfo.SerialNumber, statisticInfo.UniqueNumber); if (!AccountSettingsData.KeepEmailCopiesOnServer) { _client.DeleteMessage(statisticInfo.SerialNumber); } response = string.Empty; return(CommandResponseType.Ok); } catch (Exception ex) { Login(); message = null; response = ex.ToString(); return(CommandResponseType.Bad); } }
/// <summary> /// Marks a message as deleted. /// </summary> /// <param name="sourceMailbox">The source mailbox.</param> /// <param name="destinationMailbox">The destination mailbox.</param> /// <param name="message">The message to mark as undelete.</param> /// <param name="response">The response.</param> /// <param name="newId">The new id.</param> /// <returns>The response type.</returns> protected override CommandResponseType MarkAsDeletedCommand(Mailbox sourceMailbox, Mailbox destinationMailbox, StructuredMessage message, out string response, out string newId) { response = string.Empty; newId = message.Uid; return(CommandResponseType.Ok); }
/// <summary> /// Initialises a new instance of the Skycap.Net.Common.Tasks.MarkAsDeletedQueuedTask class. /// </summary> /// <param name="message">The message.</param> /// <param name="mailbox">The mailbox.</param> /// <param name="destinationMailbox">The destination mailbox.</param> public MarkAsDeletedPrioritisedQueuedTask(StructuredMessage message, Mailbox mailbox, Mailbox destinationMailbox) : base(PrioritisedQueuedTaskType.MarkAsDeleted, mailbox, message.Uid, message) { // Initialise local variables DestinationMailbox = destinationMailbox; }
/// <summary> /// Initialises a new instance of the Skycap.Net.Common.Tasks.MarkAsUndeletedQueuedTask class. /// </summary> /// <param name="message">The message.</param> /// <param name="mailbox">The mailbox.</param> public MarkAsUndeletedPrioritisedQueuedTask(StructuredMessage message, Mailbox mailbox) : base(PrioritisedQueuedTaskType.MarkAsUndeleted, mailbox, message.Uid, message) { }
public override void ProcessMessage(StructuredMessage message, string tag) { string json = TemplateMessageProcessor.Write(message); System.IO.File.AppendAllText(Filepath, json + Environment.NewLine); }
/// <summary> /// Initialises a new instance of the Skycap.Net.Common.QueuedTasks.SaveToDraftsPrioritisedQueuedTask class. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message.</param> public SaveToDraftsPrioritisedQueuedTask(Mailbox mailbox, StructuredMessage message) : base(PrioritisedQueuedTaskType.SaveToDrafts, mailbox, message.Uid, message) { }
/// <summary> /// Marks a message as unflagged. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message to mark as unflagged.</param> /// <param name="response">The response.</param> /// <returns>The response type.</returns> protected override CommandResponseType MarkAsUnflaggedCommand(Mailbox mailbox, StructuredMessage message, out string response) { response = string.Empty; return(CommandResponseType.Ok); }
/// <summary> /// Initialises a new instance of the Skycap.Net.Common.SaveToDraftsEventArgs class. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message.</param> public SaveToDraftsEventArgs(Mailbox mailbox, StructuredMessage message) : base(mailbox, message.Uid, message) { }
/// <summary> /// Saves a message to drafts folder. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="message">The message.</param> /// <param name="response">The response.</param> /// <param name="uid">The uid.</param> /// <returns>The response type.</returns> protected override CommandResponseType SaveToDraftsCommand(Mailbox mailbox, StructuredMessage message, out string response, out string uid) { response = string.Empty; uid = message.Uid; return(CommandResponseType.Ok); }
/// <summary> /// Marks a message as deleted. /// </summary> /// <param name="sourceMailbox">The source mailbox.</param> /// <param name="destinationMailbox">The destination mailbox.</param> /// <param name="message">The message to mark as undelete.</param> /// <param name="response">The response.</param> /// <param name="newId">The new id.</param> /// <returns>The response type.</returns> protected override CommandResponseType MarkAsDeletedCommand(Mailbox sourceMailbox, Mailbox destinationMailbox, StructuredMessage message, out string response, out string newId) { newId = null; try { Dictionary <string, string> newIds; CompletionResponse markAsDeleteResponse = _client.MarkAsDeleted(new SequenceNumber(uint.Parse(message.Uid)), sourceMailbox, destinationMailbox, out newIds); response = markAsDeleteResponse.Message; newId = newIds.Values.DefaultIfEmpty().First(); return(GetCommandResponseType(markAsDeleteResponse.CompletionResult)); } catch (Exception ex) { response = ex.ToString(); newId = string.Empty; return(CommandResponseType.Bad); } }
/// <summary> /// Downloads a message. /// </summary> /// <param name="mailbox">The mailbox.</param> /// <param name="statisticInfo">The statistic info.</param> /// <param name="response">The response.</param> /// <param name="message">The message.</param> /// <returns>The response type.</returns> protected override CommandResponseType DownloadMessageCommand(Mailbox mailbox, StatisticInfo statisticInfo, out string response, out StructuredMessage message) { try { message = _client.GetFullMessage(uint.Parse(statisticInfo.UniqueNumber), mailbox); response = string.Empty; return(CommandResponseType.Ok); } catch (Exception ex) { LoginCommand(out response); message = null; response = ex.ToString(); return(CommandResponseType.Bad); } }