예제 #1
0
        public static async Task BotAddQuote(IQouteRepository _quoteRepo, IScoreRepository _scoreRepo, IUserRepository _userRepo, IMessageChannel channel, string quote, ulong msgId, IGuildUser creator, IGuildUser quotee, DateTime time)
        {
            if (!_quoteRepo.MessageExists(quote, quotee, time))
            {
                EntityUser cr = _userRepo.GetUserById(creator.Id);

                if (cr == null)
                {
                    cr = new EntityUser(creator);
                    _userRepo.AddUser(cr);
                }

                EntityUser quotee2 = _userRepo.GetUserById(quotee.Id);

                if (quotee2 == null)
                {
                    quotee2 = new EntityUser(quotee);
                    _userRepo.AddUser(quotee2);
                }

                if (quote.Length >= 1024)
                {
                    await channel.SendMessageAsync("This quote is too long");

                    return;
                }

                Quote q = new Quote(quote, cr, quotee2, time, creator.Guild)
                {
                    msgId = msgId
                };

                _quoteRepo.AddQuote(q);
                _quoteRepo.SaveChanges();

                _scoreRepo.Increment(creator, ScoreType.Qouter);
                _scoreRepo.Increment(quotee, ScoreType.Qouted);

                int id = _quoteRepo.GetId(q);
                await channel.SendMessageAsync($"added quote **{q.QuoteText.RemoveAbuseCharacters()}**" +
                                               $" from **{quotee.Nickname ?? quotee.Username}** quoted by **{creator.Nickname ?? creator.Username}** " +
                                               $"with id {id}");
            }
        }
예제 #2
0
        public static async Task BotAddQuote(IQouteRepository _quoteRepo, IMessageChannel channel, string quote, ulong msgId, IGuildUser creator, IGuildUser quotee, DateTime time)
        {
            if (!_quoteRepo.MessageExists(quote, quotee, time))
            {
                EntityUser cr      = new EntityUser(creator);
                EntityUser quotee2 = new EntityUser(quotee);

                Quote q = new Quote(quote, cr, quotee2, time, creator.Guild)
                {
                    msgId = msgId
                };

                _quoteRepo.AddQuote(q);
                _quoteRepo.SaveChanges();

                int id = _quoteRepo.GetId(q);
                await channel.SendMessageAsync($"added quote **{q.QuoteText.RemoveAbuseCharacters()}**" +
                                               $" from **{quotee.Nickname ?? quotee.Username}** quoted by **{creator.Nickname ?? creator.Username}** " +
                                               $"with id {id}");
            }
        }
예제 #3
0
 public QuoteModule(IQouteRepository quoteRepo, IUserRepository userRepository)
 {
     _qouteRepo = quoteRepo;
     _userRepo  = userRepository;
 }
예제 #4
0
 public QuoteModule(IQouteRepository quoteRepo, IUserRepository userRepository, IScoreRepository scoreRepo)
 {
     _qouteRepo = quoteRepo;
     _userRepo  = userRepository;
     _scoreRepo = scoreRepo;
 }