Beispiel #1
0
        private void OnUpdated(IRecievedMessage message)
        {
            if (message.Channel != _options.Channel)
            {
                return;
            }

            Updated?.Invoke(this, message);
        }
Beispiel #2
0
 private IPendingMessage ConvertMessage(IRecievedMessage message, ulong?messageId = null)
 {
     return(new PendingMessage
     {
         MessageId = messageId,
         Content = message.Content,
         BridgeAuthor = message.BridgeAuthor,
         Channel = _options.Channel
     });
 }
        private void ClientOnUpdated(ClientController sender, IRecievedMessage message)
        {
            var entry = GetMessage(sender.Name, message.MessageId);

            if (entry == null)
            {
                return;
            }

            entry.Message = message;

            foreach (var(clientName, messageId) in entry.MessageIds)
            {
                var client = Clients.First(x => x.Name == clientName);

                client.Update(message, messageId);
            }
        }
        private void ClientOnReceived(ClientController sender, IRecievedMessage message)
        {
            var entry = new GatewayEntry {
                ClientName = sender.Name, Message = message
            };

            foreach (var client in Clients.Where(client => client != sender))
            {
                var messageId = client.Send(message);
                if (messageId == null)
                {
                    throw new Exception("Message not sent"); // TODO MKA logging
                }

                entry.MessageIds.Add(new KeyValuePair <string, ulong>(client.Name,
                                                                      messageId.Value));
            }

            _entries.Add(entry);
        }
Beispiel #5
0
 public void Delete(IRecievedMessage message, ulong messageId)
 {
     Account.DeleteAsync(ConvertMessage(message, messageId)).Wait();
 }
Beispiel #6
0
 public ulong?Send(IRecievedMessage message)
 {
     return(Account.SendAsync(ConvertMessage(message)).Result);
 }