private async Task UserOptsIntoChannel(NewMessage incoming, string channel) { if (channel[0] == '#') { channel = channel.Substring(1, channel.Length - 1); } if (_state.ChannelList.ContainsKey(channel)) { _activityLog.Log($"User {incoming.user} has opted in for pizza plans again in channel {channel}."); await _state.RemoveUserFromOptOutOfChannel(incoming.GetSendingUser(), channel); await _core.SendMessage(incoming.OptedIntoChannelAgain(channel)); } else { await _core.SendMessage(incoming.ChannelUnrecogised(channel)); } }
private async Task TryOptOutChannel(NewMessage incomingMessage, string channel) { if (channel[0] == '#') { channel = channel.Substring(1, channel.Length - 1); } if ("all".Equals(channel)) { await UserOptsOutOfChannel(incomingMessage, _config.PizzaRoom.Room); } else if (_config.PizzaRoom.Room == channel) { await UserOptsOutOfChannel(incomingMessage, channel); } else { await _core.SendMessage(incomingMessage.ChannelUnrecogised(channel)); } }