Пример #1
0
        public ChannelboardWebToken CreateWebToken(SocketCommandContext context)
        {
            using (var repository = new GrillBotRepository(Config))
            {
                var config = repository.Config.FindConfig(context.Guild.Id, "", "channelboardweb").GetData <ChannelboardConfig>();

                var tokenValidFor = config.GetTokenValidTime();
                var token         = StringHelper.CreateRandomString(TokenLength);
                var rawUrl        = config.WebUrl;

                var webToken = new ChannelboardWebToken(token, context.Message.Author.Id, tokenValidFor, rawUrl);
                WebTokens.Add(webToken);

                return(webToken);
            }
        }
Пример #2
0
        public List <ChannelboardItem> GetChannelboardData(string token, DiscordSocketClient client, out ChannelboardWebToken webToken)
        {
            var tokenData = WebTokens.Find(o => o.Token == token);

            webToken = tokenData;
            return(Counters
                   .Where(o => CanUserToChannel(client, o.Key, tokenData.UserID))
                   .Select(o => GetChannelboardItem(o, client))
                   .OrderByDescending(o => o.Count)
                   .ToList());
        }