private void OnUpdated(IRecievedMessage message) { if (message.Channel != _options.Channel) { return; } Updated?.Invoke(this, message); }
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); }
public void Delete(IRecievedMessage message, ulong messageId) { Account.DeleteAsync(ConvertMessage(message, messageId)).Wait(); }
public ulong?Send(IRecievedMessage message) { return(Account.SendAsync(ConvertMessage(message)).Result); }