示例#1
0
        public async Task <IActionResult> ChannelsAsync([FromQuery] string key)
        {
            var item = ChannelboardWeb.GetItem(key);

            if (item == null)
            {
                return(View(new ChannelboardViewModel(LeaderboardErrors.InvalidKey)));
            }

            var guild = Client.GetGuild(item.GuildID);

            if (guild == null)
            {
                return(View(new ChannelboardViewModel(LeaderboardErrors.InvalidGuild)));
            }

            var user = await guild.GetUserFromGuildAsync(item.UserID);

            if (user == null)
            {
                return(View(new ChannelboardViewModel(LeaderboardErrors.UserAtGuildNotFound)));
            }

            var data = await ChannelStats.GetChannelboardDataAsync(guild, user);

            return(View(new ChannelboardViewModel(guild, user, data)));
        }
示例#2
0
 public LeaderboardController(ChannelStats stats, DiscordSocketClient client, ChannelboardWeb channelboardWeb,
                              UnverifyLogger unverifyLogger)
 {
     ChannelStats    = stats;
     Client          = client;
     ChannelboardWeb = channelboardWeb;
     UnverifyLogger  = unverifyLogger;
 }
示例#3
0
 public ChannelboardModule(ChannelStats channelStats, ChannelboardWeb channelboardWeb)
 {
     Stats           = channelStats;
     ChannelboardWeb = channelboardWeb;
 }
示例#4
0
 public ChannelboardController(ChannelStats stats, DiscordSocketClient client, ChannelboardWeb channelboardWeb)
 {
     ChannelStats    = stats;
     Client          = client;
     ChannelboardWeb = channelboardWeb;
 }