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); } }
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()); }