コード例 #1
0
        private async Task SendSlurToChannel(Command command, Slur slur)
        {
            var users  = _userRepository.GetUsers();
            var caller = users.Single(usr => usr.Id == command.UserId);
            var target = users.Single(usr => usr.Id == command.GetTargetUserId());

            var rnd        = new Random();
            var randomUser = users.ElementAt(rnd.Next(users.Count));

            var message = BuildSlurMessage(slur.Text, randomUser, target);

            message = _eventDispatcher.OnFlaming(caller, target, command, message);

            var timestamp = await _slack.BroadcastMessage(message, command.ChannelId);

            _slurRepository.LogRecentSlur(slur.Id, timestamp);

            await _slack.AddReaction(DougMessages.UpVote, timestamp, command.ChannelId);

            await _slack.AddReaction(DougMessages.Downvote, timestamp, command.ChannelId);
        }