Browse Source

Simplified ToString, added debug strings

tags/1.0-rc
RogueException 9 years ago
parent
commit
7b68b4a860
30 changed files with 146 additions and 66 deletions
  1. +4
    -1
      src/Discord.Net/API/Optional.cs
  2. +6
    -2
      src/Discord.Net/Common/Entities/Guilds/IntegrationAccount.cs
  3. +5
    -2
      src/Discord.Net/Common/Entities/Guilds/VoiceRegion.cs
  4. +4
    -1
      src/Discord.Net/Common/Entities/Invites/Invite.cs
  5. +1
    -1
      src/Discord.Net/Common/Entities/Permissions/ChannelPermission.cs
  6. +9
    -8
      src/Discord.Net/Common/Entities/Permissions/ChannelPermissions.cs
  7. +1
    -1
      src/Discord.Net/Common/Entities/Permissions/GuildPermission.cs
  8. +12
    -10
      src/Discord.Net/Common/Entities/Permissions/GuildPermissions.cs
  9. +22
    -13
      src/Discord.Net/Common/Entities/Permissions/OverwritePermissions.cs
  10. +4
    -1
      src/Discord.Net/Common/Entities/Users/Connection.cs
  11. +5
    -2
      src/Discord.Net/Rest/Entities/Channels/DMChannel.cs
  12. +3
    -0
      src/Discord.Net/Rest/Entities/Channels/GuildChannel.cs
  13. +3
    -2
      src/Discord.Net/Rest/Entities/Channels/TextChannel.cs
  14. +3
    -2
      src/Discord.Net/Rest/Entities/Channels/VoiceChannel.cs
  15. +4
    -1
      src/Discord.Net/Rest/Entities/Guilds/Guild.cs
  16. +4
    -1
      src/Discord.Net/Rest/Entities/Guilds/GuildEmbed.cs
  17. +4
    -1
      src/Discord.Net/Rest/Entities/Guilds/GuildIntegration.cs
  18. +4
    -1
      src/Discord.Net/Rest/Entities/Guilds/UserGuild.cs
  19. +4
    -1
      src/Discord.Net/Rest/Entities/Message.cs
  20. +5
    -2
      src/Discord.Net/Rest/Entities/Role.cs
  21. +4
    -1
      src/Discord.Net/Rest/Entities/Users/User.cs
  22. +5
    -2
      src/Discord.Net/WebSocket/Entities/Channels/DMChannel.cs
  23. +3
    -0
      src/Discord.Net/WebSocket/Entities/Channels/GuildChannel.cs
  24. +3
    -2
      src/Discord.Net/WebSocket/Entities/Channels/TextChannel.cs
  25. +3
    -2
      src/Discord.Net/WebSocket/Entities/Channels/VoiceChannel.cs
  26. +4
    -1
      src/Discord.Net/WebSocket/Entities/Guilds/Guild.cs
  27. +4
    -1
      src/Discord.Net/WebSocket/Entities/Guilds/GuildIntegration.cs
  28. +4
    -1
      src/Discord.Net/WebSocket/Entities/Message.cs
  29. +5
    -2
      src/Discord.Net/WebSocket/Entities/Role.cs
  30. +4
    -1
      src/Discord.Net/WebSocket/Entities/Users/User.cs

+ 4
- 1
src/Discord.Net/API/Optional.cs View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Diagnostics;


namespace Discord.API namespace Discord.API
{ {
//Based on https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Nullable.cs //Based on https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Nullable.cs
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public struct Optional<T> : IOptional public struct Optional<T> : IOptional
{ {
private readonly T _value; private readonly T _value;
@@ -40,7 +42,8 @@ namespace Discord.API
} }


public override int GetHashCode() => IsSpecified ? _value.GetHashCode() : 0; public override int GetHashCode() => IsSpecified ? _value.GetHashCode() : 0;
public override string ToString() => IsSpecified ? _value.ToString() : "";
public override string ToString() => IsSpecified ? _value?.ToString() : null;
private string DebuggerDisplay => IsSpecified ? _value.ToString() : "<unspecified>";


public static implicit operator Optional<T>(T value) => new Optional<T>(value); public static implicit operator Optional<T>(T value) => new Optional<T>(value);
public static implicit operator T(Optional<T> value) => value.Value; public static implicit operator T(Optional<T> value) => value.Value;


+ 6
- 2
src/Discord.Net/Common/Entities/Guilds/IntegrationAccount.cs View File

@@ -1,5 +1,8 @@
namespace Discord
using System.Diagnostics;

namespace Discord
{ {
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public struct IntegrationAccount public struct IntegrationAccount
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -8,6 +11,7 @@
/// <inheritdoc /> /// <inheritdoc />
public string Name { get; private set; } public string Name { get; private set; }


public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";
} }
} }

+ 5
- 2
src/Discord.Net/Common/Entities/Guilds/VoiceRegion.cs View File

@@ -1,7 +1,9 @@
using Model = Discord.API.VoiceRegion;
using System.Diagnostics;
using Model = Discord.API.VoiceRegion;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class VoiceRegion : IVoiceRegion public class VoiceRegion : IVoiceRegion
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -27,6 +29,7 @@ namespace Discord.Rest
SamplePort = model.SamplePort; SamplePort = model.SamplePort;
} }


public override string ToString() => $"{Name ?? Id.ToString()}";
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id}{(IsVip ? ", VIP" : "")}{(IsOptimal ? ", Optimal" : "")})";
} }
} }

+ 4
- 1
src/Discord.Net/Common/Entities/Invites/Invite.cs View File

@@ -1,8 +1,10 @@
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading.Tasks;
using Model = Discord.API.Invite; using Model = Discord.API.Invite;


namespace Discord namespace Discord
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Invite : IInvite public class Invite : IInvite
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -56,6 +58,7 @@ namespace Discord


/// <inheritdoc /> /// <inheritdoc />
public override string ToString() => XkcdUrl ?? Url; public override string ToString() => XkcdUrl ?? Url;
private string DebuggerDisplay => $"{XkcdUrl ?? Url} ({GuildName} / {ChannelName})";


string IEntity<string>.Id => Code; string IEntity<string>.Id => Code;
} }


+ 1
- 1
src/Discord.Net/Common/Entities/Permissions/ChannelPermission.cs View File

@@ -1,6 +1,6 @@
namespace Discord namespace Discord
{ {
internal enum ChannelPermission : byte
public enum ChannelPermission : byte
{ {
//General //General
CreateInstantInvite = 0, CreateInstantInvite = 0,


+ 9
- 8
src/Discord.Net/Common/Entities/Permissions/ChannelPermissions.cs View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;


namespace Discord namespace Discord
{ {
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public struct ChannelPermissions public struct ChannelPermissions
{ {
private static ChannelPermissions _allDM { get; } = new ChannelPermissions(0b000100_000000_0011111111_0000011001); private static ChannelPermissions _allDM { get; } = new ChannelPermissions(0b000100_000000_0011111111_0000011001);
@@ -117,20 +119,19 @@ namespace Discord
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers,
moveMembers, useVoiceActivation, managePermissions); moveMembers, useVoiceActivation, managePermissions);
/// <inheritdoc />
public override string ToString()
public List<ChannelPermission> ToList()
{ {
var perms = new List<string>();
var perms = new List<ChannelPermission>();
ulong x = 1; ulong x = 1;
for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1) for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1)
{ {
if ((RawValue & x) != 0) if ((RawValue & x) != 0)
{
if (Enum.IsDefined(typeof(ChannelPermission), i))
perms.Add($"{(ChannelPermission)i}");
}
perms.Add((ChannelPermission)i);
} }
return string.Join(", ", perms);
return perms;
} }
/// <inheritdoc />
public override string ToString() => RawValue.ToString();
private string DebuggerDisplay => $"{RawValue} ({string.Join(", ", ToList())})";
} }
} }

+ 1
- 1
src/Discord.Net/Common/Entities/Permissions/GuildPermission.cs View File

@@ -1,6 +1,6 @@
namespace Discord namespace Discord
{ {
internal enum GuildPermission : byte
public enum GuildPermission : byte
{ {
//General //General
CreateInstantInvite = 0, CreateInstantInvite = 0,


+ 12
- 10
src/Discord.Net/Common/Entities/Permissions/GuildPermissions.cs View File

@@ -1,7 +1,10 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Diagnostics;


namespace Discord namespace Discord
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public struct GuildPermissions public struct GuildPermissions
{ {
/// <summary> Gets a blank GuildPermissions that grants no permissions. </summary> /// <summary> Gets a blank GuildPermissions that grants no permissions. </summary>
@@ -125,21 +128,20 @@ namespace Discord
=> new GuildPermissions(RawValue, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages, => new GuildPermissions(RawValue, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages,
sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, connect, speak, muteMembers, deafenMembers, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, connect, speak, muteMembers, deafenMembers,
moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles); moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles);

/// <inheritdoc />
public override string ToString()
public List<GuildPermission> ToList()
{ {
var perms = new List<string>();
var perms = new List<GuildPermission>();
ulong x = 1; ulong x = 1;
for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1) for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1)
{ {
if ((RawValue & x) != 0) if ((RawValue & x) != 0)
{
if (System.Enum.IsDefined(typeof(GuildPermission), i))
perms.Add($"{(GuildPermission)i}");
}
perms.Add((GuildPermission)i);
} }
return string.Join(", ", perms);
return perms;
} }
/// <inheritdoc />
public override string ToString() => RawValue.ToString();
private string DebuggerDisplay => $"{RawValue} ({string.Join(", ", ToList())})";
} }
} }

+ 22
- 13
src/Discord.Net/Common/Entities/Permissions/OverwritePermissions.cs View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;


namespace Discord namespace Discord
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public struct OverwritePermissions public struct OverwritePermissions
{ {
/// <summary> Gets a blank OverwritePermissions that inherits all permissions. </summary> /// <summary> Gets a blank OverwritePermissions that inherits all permissions. </summary>
@@ -111,25 +113,32 @@ namespace Discord
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers,
moveMembers, useVoiceActivation, managePermissions); moveMembers, useVoiceActivation, managePermissions);


/// <inheritdoc />
public override string ToString()
public List<ChannelPermission> ToAllowList()
{ {
var perms = new List<string>();
var perms = new List<ChannelPermission>();
ulong x = 1; ulong x = 1;
for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1) for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1)
{ {
if ((AllowValue & x) != 0) if ((AllowValue & x) != 0)
{
if (Enum.IsDefined(typeof(GuildPermission), i))
perms.Add($"+{(GuildPermission)i}");
}
else if ((DenyValue & x) != 0)
{
if (Enum.IsDefined(typeof(GuildPermission), i))
perms.Add($"-{(GuildPermission)i}");
}
perms.Add((ChannelPermission)i);
}
return perms;
}
public List<ChannelPermission> ToDenyList()
{
var perms = new List<ChannelPermission>();
ulong x = 1;
for (byte i = 0; i < Permissions.MaxBits; i++, x <<= 1)
{
if ((DenyValue & x) != 0)
perms.Add((ChannelPermission)i);
} }
return string.Join(", ", perms);
return perms;
} }
/// <inheritdoc />
public override string ToString() => $"Allow {AllowValue}, Deny {DenyValue}";
private string DebuggerDisplay =>
$"Allow {AllowValue} ({string.Join(", ", ToAllowList())})\n" +
$"Deny {DenyValue} ({string.Join(", ", ToDenyList())})";
} }
} }

+ 4
- 1
src/Discord.Net/Common/Entities/Users/Connection.cs View File

@@ -1,8 +1,10 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using Model = Discord.API.Connection; using Model = Discord.API.Connection;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Connection : IConnection public class Connection : IConnection
{ {
public string Id { get; } public string Id { get; }
@@ -23,6 +25,7 @@ namespace Discord.Rest
IntegrationIds = model.Integrations; IntegrationIds = model.Integrations;
} }


public override string ToString() => $"{Name ?? Id.ToString()} ({Type})";
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id}, Type = {Type}{(IsRevoked ? ", Revoked" : "")})";
} }
} }

+ 5
- 2
src/Discord.Net/Rest/Entities/Channels/DMChannel.cs View File

@@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -9,6 +10,7 @@ using Model = Discord.API.Channel;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class DMChannel : IDMChannel public class DMChannel : IDMChannel
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -121,8 +123,9 @@ namespace Discord.Rest
} }


/// <inheritdoc /> /// <inheritdoc />
public override string ToString() => $"@{Recipient} [DM]";
public override string ToString() => '@' + Recipient.ToString();
private string DebuggerDisplay => $"@{Recipient} ({Id}, DM)";

IDMUser IDMChannel.Recipient => Recipient; IDMUser IDMChannel.Recipient => Recipient;
IEnumerable<IMessage> IMessageChannel.CachedMessages => Array.Empty<Message>(); IEnumerable<IMessage> IMessageChannel.CachedMessages => Array.Empty<Message>();




+ 3
- 0
src/Discord.Net/Rest/Entities/Channels/GuildChannel.cs View File

@@ -148,6 +148,9 @@ namespace Discord.Rest
Update(model); Update(model);
} }


/// <inheritdoc />
public override string ToString() => Name;

IGuild IGuildChannel.Guild => Guild; IGuild IGuildChannel.Guild => Guild;
async Task<IInviteMetadata> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd) async Task<IInviteMetadata> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd)
=> await CreateInvite(maxAge, maxUses, isTemporary, withXkcd).ConfigureAwait(false); => await CreateInvite(maxAge, maxUses, isTemporary, withXkcd).ConfigureAwait(false);


+ 3
- 2
src/Discord.Net/Rest/Entities/Channels/TextChannel.cs View File

@@ -1,6 +1,7 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -8,6 +9,7 @@ using Model = Discord.API.Channel;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class TextChannel : GuildChannel, ITextChannel public class TextChannel : GuildChannel, ITextChannel
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -103,8 +105,7 @@ namespace Discord.Rest
await Discord.BaseClient.TriggerTypingIndicator(Id).ConfigureAwait(false); await Discord.BaseClient.TriggerTypingIndicator(Id).ConfigureAwait(false);
} }


/// <inheritdoc />
public override string ToString() => $"{base.ToString()} [Text]";
private string DebuggerDisplay => $"{Name} ({Id}, Text)";


IEnumerable<IMessage> IMessageChannel.CachedMessages => Array.Empty<Message>(); IEnumerable<IMessage> IMessageChannel.CachedMessages => Array.Empty<Message>();




+ 3
- 2
src/Discord.Net/Rest/Entities/Channels/VoiceChannel.cs View File

@@ -1,11 +1,13 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Channel; using Model = Discord.API.Channel;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class VoiceChannel : GuildChannel, IVoiceChannel public class VoiceChannel : GuildChannel, IVoiceChannel
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -35,7 +37,6 @@ namespace Discord.Rest
public override Task<GuildUser> GetUser(ulong id) { throw new NotSupportedException(); } public override Task<GuildUser> GetUser(ulong id) { throw new NotSupportedException(); }
public override Task<IEnumerable<GuildUser>> GetUsers() { throw new NotSupportedException(); } public override Task<IEnumerable<GuildUser>> GetUsers() { throw new NotSupportedException(); }


/// <inheritdoc />
public override string ToString() => $"{base.ToString()} [Voice]";
private string DebuggerDisplay => $"{Name} ({Id}, Voice)";
} }
} }

+ 4
- 1
src/Discord.Net/Rest/Entities/Guilds/Guild.cs View File

@@ -8,10 +8,12 @@ using System.Threading.Tasks;
using Model = Discord.API.Guild; using Model = Discord.API.Guild;
using EmbedModel = Discord.API.GuildEmbed; using EmbedModel = Discord.API.GuildEmbed;
using RoleModel = Discord.API.Role; using RoleModel = Discord.API.Role;
using System.Diagnostics;


namespace Discord.Rest namespace Discord.Rest
{ {
/// <summary> Represents a Discord guild (called a server in the official client). </summary> /// <summary> Represents a Discord guild (called a server in the official client). </summary>
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Guild : IGuild public class Guild : IGuild
{ {
private ConcurrentDictionary<ulong, Role> _roles; private ConcurrentDictionary<ulong, Role> _roles;
@@ -332,7 +334,8 @@ namespace Discord.Rest
} }
} }


public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";


IEnumerable<Emoji> IGuild.Emojis => Emojis; IEnumerable<Emoji> IGuild.Emojis => Emojis;
ulong IGuild.EveryoneRoleId => EveryoneRole.Id; ulong IGuild.EveryoneRoleId => EveryoneRole.Id;


+ 4
- 1
src/Discord.Net/Rest/Entities/Guilds/GuildEmbed.cs View File

@@ -1,8 +1,10 @@
using System; using System;
using System.Diagnostics;
using Model = Discord.API.GuildEmbed; using Model = Discord.API.GuildEmbed;


namespace Discord namespace Discord
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class GuildEmbed : IGuildEmbed public class GuildEmbed : IGuildEmbed
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -26,6 +28,7 @@ namespace Discord
IsEnabled = model.Enabled; IsEnabled = model.Enabled;
} }


public override string ToString() => $"{Id} ({(IsEnabled ? "Enabled" : "Disabled")})";
public override string ToString() => Id.ToString();
private string DebuggerDisplay => $"{Id}{(IsEnabled ? " (Enabled)" : "")}";
} }
} }

+ 4
- 1
src/Discord.Net/Rest/Entities/Guilds/GuildIntegration.cs View File

@@ -1,10 +1,12 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Integration; using Model = Discord.API.Integration;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class GuildIntegration : IGuildIntegration public class GuildIntegration : IGuildIntegration
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -77,7 +79,8 @@ namespace Discord.Rest
await Discord.BaseClient.SyncGuildIntegration(Guild.Id, Id).ConfigureAwait(false); await Discord.BaseClient.SyncGuildIntegration(Guild.Id, Id).ConfigureAwait(false);
} }


public override string ToString() => $"{Name ?? Id.ToString()} ({(IsEnabled ? "Enabled" : "Disabled")})";
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id}{(IsEnabled ? ", Enabled" : "")})";


IGuild IGuildIntegration.Guild => Guild; IGuild IGuildIntegration.Guild => Guild;
IRole IGuildIntegration.Role => Role; IRole IGuildIntegration.Role => Role;


+ 4
- 1
src/Discord.Net/Rest/Entities/Guilds/UserGuild.cs View File

@@ -1,9 +1,11 @@
using System; using System;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.UserGuild; using Model = Discord.API.UserGuild;


namespace Discord namespace Discord
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class UserGuild : IUserGuild public class UserGuild : IUserGuild
{ {
private string _iconId; private string _iconId;
@@ -48,6 +50,7 @@ namespace Discord
await Discord.BaseClient.DeleteGuild(Id).ConfigureAwait(false); await Discord.BaseClient.DeleteGuild(Id).ConfigureAwait(false);
} }


public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id}{(IsOwner ? ", Owned" : "")})";
} }
} }

+ 4
- 1
src/Discord.Net/Rest/Entities/Message.cs View File

@@ -2,11 +2,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Message; using Model = Discord.API.Message;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Message : IMessage public class Message : IMessage
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -135,7 +137,8 @@ namespace Discord.Rest
await Discord.BaseClient.DeleteMessage(Channel.Id, Id).ConfigureAwait(false); await Discord.BaseClient.DeleteMessage(Channel.Id, Id).ConfigureAwait(false);
} }


public override string ToString() => $"{Author.ToString()}: {Text}";
public override string ToString() => Text;
private string DebuggerDisplay => $"{Author}: {Text}";


IUser IMessage.Author => Author; IUser IMessage.Author => Author;
IReadOnlyList<Attachment> IMessage.Attachments => Attachments; IReadOnlyList<Attachment> IMessage.Attachments => Attachments;


+ 5
- 2
src/Discord.Net/Rest/Entities/Role.cs View File

@@ -1,12 +1,14 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Role; using Model = Discord.API.Role;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Role : IRole, IMentionable public class Role : IRole, IMentionable
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -66,8 +68,9 @@ namespace Discord.Rest
=> await Discord.BaseClient.DeleteGuildRole(Guild.Id, Id).ConfigureAwait(false); => await Discord.BaseClient.DeleteGuildRole(Guild.Id, Id).ConfigureAwait(false);


/// <inheritdoc /> /// <inheritdoc />
public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";

ulong IRole.GuildId => Guild.Id; ulong IRole.GuildId => Guild.Id;
async Task<IEnumerable<IGuildUser>> IRole.GetUsers() async Task<IEnumerable<IGuildUser>> IRole.GetUsers()


+ 4
- 1
src/Discord.Net/Rest/Entities/Users/User.cs View File

@@ -1,10 +1,12 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.User; using Model = Discord.API.User;


namespace Discord.Rest namespace Discord.Rest
{ {
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public abstract class User : IUser public abstract class User : IUser
{ {
private string _avatarId; private string _avatarId;
@@ -51,7 +53,8 @@ namespace Discord.Rest
return new DMChannel(Discord, model); return new DMChannel(Discord, model);
} }


public override string ToString() => $"{Username ?? Id.ToString()}";
public override string ToString() => $"{Username}#{Discriminator}";
private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id})";


/// <inheritdoc /> /// <inheritdoc />
Game? IUser.CurrentGame => null; Game? IUser.CurrentGame => null;


+ 5
- 2
src/Discord.Net/WebSocket/Entities/Channels/DMChannel.cs View File

@@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -9,6 +10,7 @@ using Model = Discord.API.Channel;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class DMChannel : IDMChannel public class DMChannel : IDMChannel
{ {
private readonly MessageCache _messages; private readonly MessageCache _messages;
@@ -114,8 +116,9 @@ namespace Discord.WebSocket
} }


/// <inheritdoc /> /// <inheritdoc />
public override string ToString() => $"@{Recipient} [DM]";
public override string ToString() => '@' + Recipient.ToString();
private string DebuggerDisplay => $"@{Recipient} ({Id}, DM)";

IDMUser IDMChannel.Recipient => Recipient; IDMUser IDMChannel.Recipient => Recipient;
IEnumerable<IMessage> IMessageChannel.CachedMessages => CachedMessages; IEnumerable<IMessage> IMessageChannel.CachedMessages => CachedMessages;




+ 3
- 0
src/Discord.Net/WebSocket/Entities/Channels/GuildChannel.cs View File

@@ -133,6 +133,9 @@ namespace Discord.WebSocket
await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false); await Discord.BaseClient.DeleteChannel(Id).ConfigureAwait(false);
} }


/// <inheritdoc />
public override string ToString() => Name;

IGuild IGuildChannel.Guild => Guild; IGuild IGuildChannel.Guild => Guild;
async Task<IInviteMetadata> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd) async Task<IInviteMetadata> IGuildChannel.CreateInvite(int? maxAge, int? maxUses, bool isTemporary, bool withXkcd)
=> await CreateInvite(maxAge, maxUses, isTemporary, withXkcd).ConfigureAwait(false); => await CreateInvite(maxAge, maxUses, isTemporary, withXkcd).ConfigureAwait(false);


+ 3
- 2
src/Discord.Net/WebSocket/Entities/Channels/TextChannel.cs View File

@@ -2,6 +2,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@@ -9,6 +10,7 @@ using Model = Discord.API.Channel;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class TextChannel : GuildChannel, ITextChannel public class TextChannel : GuildChannel, ITextChannel
{ {
private readonly MessageCache _messages; private readonly MessageCache _messages;
@@ -105,8 +107,7 @@ namespace Discord.WebSocket
await Discord.BaseClient.TriggerTypingIndicator(Id).ConfigureAwait(false); await Discord.BaseClient.TriggerTypingIndicator(Id).ConfigureAwait(false);
} }


/// <inheritdoc />
public override string ToString() => $"{base.ToString()} [Text]";
private string DebuggerDisplay => $"{Name} ({Id}, Text)";


IEnumerable<IMessage> IMessageChannel.CachedMessages => CachedMessages; IEnumerable<IMessage> IMessageChannel.CachedMessages => CachedMessages;




+ 3
- 2
src/Discord.Net/WebSocket/Entities/Channels/VoiceChannel.cs View File

@@ -1,12 +1,14 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Channel; using Model = Discord.API.Channel;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class VoiceChannel : GuildChannel, IVoiceChannel public class VoiceChannel : GuildChannel, IVoiceChannel
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -43,7 +45,6 @@ namespace Discord.WebSocket
return null; return null;
} }


/// <inheritdoc />
public override string ToString() => $"{base.ToString()} [Voice]";
private string DebuggerDisplay => $"{Name} ({Id}, Voice)";
} }
} }

+ 4
- 1
src/Discord.Net/WebSocket/Entities/Guilds/Guild.cs View File

@@ -8,10 +8,12 @@ using System.Threading.Tasks;
using Model = Discord.API.Guild; using Model = Discord.API.Guild;
using EmbedModel = Discord.API.GuildEmbed; using EmbedModel = Discord.API.GuildEmbed;
using RoleModel = Discord.API.Role; using RoleModel = Discord.API.Role;
using System.Diagnostics;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
/// <summary> Represents a Discord guild (called a server in the official client). </summary> /// <summary> Represents a Discord guild (called a server in the official client). </summary>
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Guild : IGuild public class Guild : IGuild
{ {
private ConcurrentDictionary<ulong, Role> _roles; private ConcurrentDictionary<ulong, Role> _roles;
@@ -325,7 +327,8 @@ namespace Discord.WebSocket
} }
} }


public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";


IEnumerable<Emoji> IGuild.Emojis => Emojis; IEnumerable<Emoji> IGuild.Emojis => Emojis;
ulong IGuild.EveryoneRoleId => EveryoneRole.Id; ulong IGuild.EveryoneRoleId => EveryoneRole.Id;


+ 4
- 1
src/Discord.Net/WebSocket/Entities/Guilds/GuildIntegration.cs View File

@@ -1,10 +1,12 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Integration; using Model = Discord.API.Integration;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class GuildIntegration : IGuildIntegration public class GuildIntegration : IGuildIntegration
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -75,7 +77,8 @@ namespace Discord.WebSocket
await Discord.BaseClient.SyncGuildIntegration(Guild.Id, Id).ConfigureAwait(false); await Discord.BaseClient.SyncGuildIntegration(Guild.Id, Id).ConfigureAwait(false);
} }


public override string ToString() => $"{Name ?? Id.ToString()} ({(IsEnabled ? "Enabled" : "Disabled")})";
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id}{(IsEnabled ? ", Enabled" : "")})";


IGuild IGuildIntegration.Guild => Guild; IGuild IGuildIntegration.Guild => Guild;
IRole IGuildIntegration.Role => Role; IRole IGuildIntegration.Role => Role;


+ 4
- 1
src/Discord.Net/WebSocket/Entities/Message.cs View File

@@ -2,11 +2,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Message; using Model = Discord.API.Message;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Message : IMessage public class Message : IMessage
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -133,7 +135,8 @@ namespace Discord.WebSocket
await Discord.BaseClient.DeleteMessage(Channel.Id, Id).ConfigureAwait(false); await Discord.BaseClient.DeleteMessage(Channel.Id, Id).ConfigureAwait(false);
} }


public override string ToString() => $"{Author.ToString()}: {Text}";
public override string ToString() => Text;
private string DebuggerDisplay => $"{Author}: {Text}";


IUser IMessage.Author => Author; IUser IMessage.Author => Author;
IReadOnlyList<Attachment> IMessage.Attachments => Attachments; IReadOnlyList<Attachment> IMessage.Attachments => Attachments;


+ 5
- 2
src/Discord.Net/WebSocket/Entities/Role.cs View File

@@ -1,12 +1,14 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.Role; using Model = Discord.API.Role;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class Role : IRole, IMentionable public class Role : IRole, IMentionable
{ {
/// <inheritdoc /> /// <inheritdoc />
@@ -65,8 +67,9 @@ namespace Discord.WebSocket
=> await Discord.BaseClient.DeleteGuildRole(Guild.Id, Id).ConfigureAwait(false); => await Discord.BaseClient.DeleteGuildRole(Guild.Id, Id).ConfigureAwait(false);


/// <inheritdoc /> /// <inheritdoc />
public override string ToString() => Name ?? Id.ToString();
public override string ToString() => Name;
private string DebuggerDisplay => $"{Name} ({Id})";

ulong IRole.GuildId => Guild.Id; ulong IRole.GuildId => Guild.Id;
async Task<IEnumerable<IGuildUser>> IRole.GetUsers() async Task<IEnumerable<IGuildUser>> IRole.GetUsers()


+ 4
- 1
src/Discord.Net/WebSocket/Entities/Users/User.cs View File

@@ -1,10 +1,12 @@
using Discord.API.Rest; using Discord.API.Rest;
using System; using System;
using System.Diagnostics;
using System.Threading.Tasks; using System.Threading.Tasks;
using Model = Discord.API.User; using Model = Discord.API.User;


namespace Discord.WebSocket namespace Discord.WebSocket
{ {
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public abstract class User : IUser public abstract class User : IUser
{ {
private string _avatarId; private string _avatarId;
@@ -51,7 +53,8 @@ namespace Discord.WebSocket
return new DMChannel(Discord, model); return new DMChannel(Discord, model);
} }


public override string ToString() => $"{Username ?? Id.ToString()}";
public override string ToString() => $"{Username}#{Discriminator}";
private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id})";


/// <inheritdoc /> /// <inheritdoc />
Game? IUser.CurrentGame => null; Game? IUser.CurrentGame => null;


Loading…
Cancel
Save