Browse Source

Add Server.IconUrl and use cdn url for User.AvatarUrl

tags/docs-0.9
RogueException 9 years ago
parent
commit
521fad9d1a
5 changed files with 16 additions and 11 deletions
  1. +4
    -2
      src/Discord.Net/API/Endpoints.cs
  2. +0
    -1
      src/Discord.Net/DiscordClient.Servers.cs
  3. +1
    -1
      src/Discord.Net/Models/Invite.cs
  4. +6
    -0
      src/Discord.Net/Models/Server.cs
  5. +5
    -7
      src/Discord.Net/Models/User.cs

+ 4
- 2
src/Discord.Net/API/Endpoints.cs View File

@@ -4,6 +4,7 @@
{ {
public const string BaseStatusApi = "https://status.discordapp.com/api/v2/"; public const string BaseStatusApi = "https://status.discordapp.com/api/v2/";
public const string BaseApi = "https://discordapp.com/api/"; public const string BaseApi = "https://discordapp.com/api/";
public const string BaseCdn = "https://cdn.discordapp.com/";


public const string Gateway = "gateway"; public const string Gateway = "gateway";


@@ -31,6 +32,7 @@
public static string ServerPrune(long serverId, int days) => $"guilds/{serverId}/prune?days={days}"; public static string ServerPrune(long serverId, int days) => $"guilds/{serverId}/prune?days={days}";
public static string ServerRoles(long serverId) => $"guilds/{serverId}/roles"; public static string ServerRoles(long serverId) => $"guilds/{serverId}/roles";
public static string ServerRole(long serverId, long roleId) => $"guilds/{serverId}/roles/{roleId}"; public static string ServerRole(long serverId, long roleId) => $"guilds/{serverId}/roles/{roleId}";
public static string ServerIcon(long serverId, string iconId) => BaseCdn + $"icons/{serverId}/{iconId}.jpg";


public const string Invites = "invite"; public const string Invites = "invite";
public static string Invite(long inviteId) => $"invite/{inviteId}"; public static string Invite(long inviteId) => $"invite/{inviteId}";
@@ -39,9 +41,9 @@
public static string InviteUrl(string inviteIdOrXkcd) => $"https://discord.gg/{inviteIdOrXkcd}"; public static string InviteUrl(string inviteIdOrXkcd) => $"https://discord.gg/{inviteIdOrXkcd}";


public const string Users = "users"; public const string Users = "users";
public static string UserAvatar(long userId, string avatarId) => BaseApi + $"users/{userId}/avatars/{avatarId}.jpg";
public static string UserChannels(long userId) => $"users/{userId}/channels";
public static string UserMe => $"users/@me"; public static string UserMe => $"users/@me";
public static string UserChannels(long userId) => $"users/{userId}/channels";
public static string UserAvatar(long serverId, string avatarId) => BaseCdn + $"avatars/{serverId}/{avatarId}.jpg";


public const string Voice = "voice"; public const string Voice = "voice";
public const string VoiceRegions = "voice/regions"; public const string VoiceRegions = "voice/regions";


+ 0
- 1
src/Discord.Net/DiscordClient.Servers.cs View File

@@ -111,7 +111,6 @@ namespace Discord


try { await _api.LeaveServer(server.Id).ConfigureAwait(false); } try { await _api.LeaveServer(server.Id).ConfigureAwait(false); }
catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { } catch (HttpException ex) when (ex.StatusCode == HttpStatusCode.NotFound) { }
//return _servers.TryRemove(server.Id);
} }


public async Task<IEnumerable<Region>> GetVoiceRegions() public async Task<IEnumerable<Region>> GetVoiceRegions()


+ 1
- 1
src/Discord.Net/Models/Invite.cs View File

@@ -42,7 +42,7 @@ namespace Discord
/// <summary> Returns the unique identifier for this user's avatar. </summary> /// <summary> Returns the unique identifier for this user's avatar. </summary>
public string AvatarId { get; } public string AvatarId { get; }
/// <summary> Returns the full path to this user's avatar. </summary> /// <summary> Returns the full path to this user's avatar. </summary>
public string AvatarUrl => User.GetAvatarUrl(Id, AvatarId);
public string AvatarUrl => AvatarId != null ? Endpoints.UserAvatar(Id, AvatarId) : null;


internal InviterInfo(long id, string name, int discriminator, string avatarId) internal InviterInfo(long id, string name, int discriminator, string avatarId)
{ {


+ 6
- 0
src/Discord.Net/Models/Server.cs View File

@@ -33,6 +33,10 @@ namespace Discord
public DateTime JoinedAt { get; private set; } public DateTime JoinedAt { get; private set; }
/// <summary> Returns the region for this server (see Regions). </summary> /// <summary> Returns the region for this server (see Regions). </summary>
public string Region { get; private set; } public string Region { get; private set; }
/// <summary> Returns the unique identifier for this user's current avatar. </summary>
public string IconId { get; private set; }
/// <summary> Returns the URL to this user's current avatar. </summary>
public string IconUrl => IconId != null ? Endpoints.ServerIcon(Id, IconId) : null;


/// <summary> Returns true if the current user created this server. </summary> /// <summary> Returns true if the current user created this server. </summary>
public bool IsOwner => _client.CurrentUserId == _owner.Id; public bool IsOwner => _client.CurrentUserId == _owner.Id;
@@ -154,6 +158,8 @@ namespace Discord
_owner.Id = model.OwnerId.Value; _owner.Id = model.OwnerId.Value;
if (model.Region != null) if (model.Region != null)
Region = model.Region; Region = model.Region;
if (model.Icon != null)
IconId = model.Icon;


if (model.Roles != null) if (model.Roles != null)
{ {


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

@@ -23,8 +23,6 @@ namespace Discord
=> unchecked(ServerId.GetHashCode() + UserId.GetHashCode() + 23); => unchecked(ServerId.GetHashCode() + UserId.GetHashCode() + 23);
} }


internal static string GetAvatarUrl(long userId, string avatarId) => avatarId != null ? Endpoints.UserAvatar(userId, avatarId) : null;

/// <summary> Returns a unique identifier combining this user's id with its server's. </summary> /// <summary> Returns a unique identifier combining this user's id with its server's. </summary>
internal CompositeKey UniqueId => new CompositeKey(_server.Id ?? 0, Id); internal CompositeKey UniqueId => new CompositeKey(_server.Id ?? 0, Id);
/// <summary> Returns the name of this user on this server. </summary> /// <summary> Returns the name of this user on this server. </summary>
@@ -34,7 +32,7 @@ namespace Discord
/// <summary> Returns the unique identifier for this user's current avatar. </summary> /// <summary> Returns the unique identifier for this user's current avatar. </summary>
public string AvatarId { get; private set; } public string AvatarId { get; private set; }
/// <summary> Returns the URL to this user's current avatar. </summary> /// <summary> Returns the URL to this user's current avatar. </summary>
public string AvatarUrl => GetAvatarUrl(Id, AvatarId);
public string AvatarUrl => AvatarId != null ? Endpoints.UserAvatar(Id, AvatarId) : null;
/// <summary> Returns the datetime that this user joined this server. </summary> /// <summary> Returns the datetime that this user joined this server. </summary>
public DateTime JoinedAt { get; private set; } public DateTime JoinedAt { get; private set; }


@@ -161,12 +159,12 @@ namespace Discord


internal void Update(UserReference model) internal void Update(UserReference model)
{ {
if (model.Avatar != null)
AvatarId = model.Avatar;
if (model.Discriminator != null)
Discriminator = model.Discriminator.Value;
if (model.Username != null) if (model.Username != null)
Name = model.Username; Name = model.Username;
if (model.Discriminator != null)
Discriminator = model.Discriminator.Value;
if (model.Avatar != null)
AvatarId = model.Avatar;
} }
internal void Update(MemberInfo model) internal void Update(MemberInfo model)
{ {


Loading…
Cancel
Save