コード例 #1
0
        private async void serverOption_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var guild = (SimpleGuild)e.AddedItems[0];
            List <SimpleChannel> channels = new List <SimpleChannel>();

            if (guild.Id == "@me")
            {
                var userchannels = await RESTCalls.GetDMs();

                foreach (var channel in userchannels)
                {
                    SimpleChannel c = new SimpleChannel();
                    c.Id = channel.Id;
                    if (!string.IsNullOrEmpty(channel.Name))
                    {
                        c.Name = channel.Name;
                    }
                    else if (channel.Users != null && channel.Users.Any())
                    {
                        c.Name = channel.Users.First().Username;
                    }
                    c.LastMessageId = "@";
                    channels.Add(c);
                }
            }
            else
            {
                var userchannels = await RESTCalls.GetGuildChannels(guild.Id);

                foreach (var channel in userchannels)
                {
                    if (channel.Type != 2 && channel.Type != 4)
                    {
                        channels.Add(ChannelManager.MakeChannel(channel, "#"));
                    }
                }
            }
            channelOption.ItemsSource = channels;
        }