Browse Source

Readded Server.TextChannels and VoiceChannels. Changed Channel.Type to ChannelType.

tags/docs-0.9
RogueException 9 years ago
parent
commit
8350040e76
3 changed files with 12 additions and 8 deletions
  1. +3
    -3
      src/Discord.Net/Models/Channel.cs
  2. +7
    -3
      src/Discord.Net/Models/Server.cs
  3. +2
    -2
      src/Discord.Net/Models/User.cs

+ 3
- 3
src/Discord.Net/Models/Channel.cs View File

@@ -59,8 +59,8 @@ namespace Discord
public string Topic { get; private set; } public string Topic { get; private set; }
/// <summary> Gets the position of this channel relative to other channels in this server. </summary> /// <summary> Gets the position of this channel relative to other channels in this server. </summary>
public int Position { get; private set; } public int Position { get; private set; }
/// <summary> Gets the type of this channel (see ChannelTypes). </summary>
public string Type { get; private set; }
/// <summary> Gets the type of this channel). </summary>
public ChannelType Type { get; private set; }


/// <summary> Gets true if this is a private chat with another user. </summary> /// <summary> Gets true if this is a private chat with another user. </summary>
public bool IsPrivate => Recipient != null; public bool IsPrivate => Recipient != null;
@@ -172,7 +172,7 @@ namespace Discord


if (position != null) if (position != null)
{ {
Channel[] channels = Server.Channels.Where(x => x.Type == Type).OrderBy(x => x.Position).ToArray();
Channel[] channels = Server.AllChannels.Where(x => x.Type == Type).OrderBy(x => x.Position).ToArray();
int oldPos = Array.IndexOf(channels, this); int oldPos = Array.IndexOf(channels, this);
var newPosChannel = channels.Where(x => x.Position > position).FirstOrDefault(); var newPosChannel = channels.Where(x => x.Position > position).FirstOrDefault();
int newPos = (newPosChannel != null ? Array.IndexOf(channels, newPosChannel) : channels.Length) - 1; int newPos = (newPosChannel != null ? Array.IndexOf(channels, newPosChannel) : channels.Length) - 1;


+ 7
- 3
src/Discord.Net/Models/Server.cs View File

@@ -68,7 +68,11 @@ namespace Discord
/// <summary> Gets a collection of the ids of all users banned on this server. </summary> /// <summary> Gets a collection of the ids of all users banned on this server. </summary>
public IEnumerable<ulong> BannedUserIds => _bans.Select(x => x.Key); public IEnumerable<ulong> BannedUserIds => _bans.Select(x => x.Key);
/// <summary> Gets a collection of all channels in this server. </summary> /// <summary> Gets a collection of all channels in this server. </summary>
public IEnumerable<Channel> Channels => _channels.Select(x => x.Value);
public IEnumerable<Channel> AllChannels => _channels.Select(x => x.Value);
/// <summary> Gets a collection of text channels in this server. </summary>
public IEnumerable<Channel> TextChannels => _channels.Select(x => x.Value).Where(x => x.Type == ChannelType.Text);
/// <summary> Gets a collection of voice channels in this server. </summary>
public IEnumerable<Channel> VoiceChannels => _channels.Select(x => x.Value).Where(x => x.Type == ChannelType.Voice);
/// <summary> Gets a collection of all members in this server. </summary> /// <summary> Gets a collection of all members in this server. </summary>
public IEnumerable<User> Users => _users.Select(x => x.Value.User); public IEnumerable<User> Users => _users.Select(x => x.Value.User);
/// <summary> Gets a collection of all roles in this server. </summary> /// <summary> Gets a collection of all roles in this server. </summary>
@@ -386,7 +390,7 @@ namespace Discord
var user = _users.GetOrAdd(id, x => new Member(new User(Client, id, this))); var user = _users.GetOrAdd(id, x => new Member(new User(Client, id, this)));
if (user.User == newUser) if (user.User == newUser)
{ {
foreach (var channel in Channels)
foreach (var channel in AllChannels)
channel.AddUser(newUser); channel.AddUser(newUser);
} }
return user.User; return user.User;
@@ -396,7 +400,7 @@ namespace Discord
Member member; Member member;
if (_users.TryRemove(id, out member)) if (_users.TryRemove(id, out member))
{ {
foreach (var channel in Channels)
foreach (var channel in AllChannels)
channel.RemoveUser(id); channel.RemoveUser(id);
} }
return member.User; return member.User;


+ 2
- 2
src/Discord.Net/Models/User.cs View File

@@ -101,14 +101,14 @@ namespace Discord
{ {
if (Client.Config.UsePermissionsCache) if (Client.Config.UsePermissionsCache)
{ {
return Server.Channels.Where(x =>
return Server.AllChannels.Where(x =>
(x.Type == ChannelType.Text && x.GetPermissions(this).ReadMessages) || (x.Type == ChannelType.Text && x.GetPermissions(this).ReadMessages) ||
(x.Type == ChannelType.Voice && x.GetPermissions(this).Connect)); (x.Type == ChannelType.Voice && x.GetPermissions(this).Connect));
} }
else else
{ {
ChannelPermissions perms = new ChannelPermissions(); ChannelPermissions perms = new ChannelPermissions();
return Server.Channels
return Server.AllChannels
.Where(x => .Where(x =>
{ {
x.UpdatePermissions(this, perms); x.UpdatePermissions(this, perms);


Loading…
Cancel
Save