Esempio n. 1
0
        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;
 }
Esempio n. 3
0
 public bool Validate(StructuredMessage message, string tag)
 {
     if (TemplatedMessageValidator != null)
     {
         return(TemplatedMessageValidator(message, tag));
     }
     return(true);
 }
Esempio n. 4
0
 public bool Validate(StructuredMessage message, string tag)
 {
     if (Whitelist.Contains(tag))
     {
         return(true);
     }
     return(false);
 }
Esempio n. 5
0
 /// <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);
     }
 }
Esempio n. 6
0
 /// <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);
     }
 }
Esempio n. 7
0
        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);
                }
            }
        }
Esempio n. 9
0
 /// <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);
     }
 }
Esempio n. 10
0
 /// <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);
 }
Esempio n. 11
0
 /// <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;
 }
Esempio n. 12
0
 /// <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)
 {
 }
Esempio n. 13
0
        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)
 {
 }
Esempio n. 15
0
 /// <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)
 {
 }
Esempio n. 17
0
 /// <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);
 }
Esempio n. 18
0
 /// <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);
     }
 }
Esempio n. 19
0
 /// <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);
     }
 }