public async Task Send(Message message, MessageHandlerModule module) { switch (module) { case MessengerApi _: await messageHandler.Receive(message); break; case MessageHandlerModule _: await messengers[message.User.MessengerClass].Receive(message); break; } }
internal void SetStateMachine(MessageHandlerModule stateMachine) { this.messageHandler = stateMachine; }
internal void SetMessageStateMachine(MessageHandlerModule messageStateMachine) { this.messageHandler = messageStateMachine; }
public BotMediator(IMusicTrackDatabase musicDatabase) { this.messengers = new Dictionary <string, MessengerApi>(); this.messageHandler = new MessageStateMachine(musicDatabase); this.messageHandler.SetMediator(this); }