diff --git a/src/Discord.Net.Core/Entities/Users/IUser.cs b/src/Discord.Net.Core/Entities/Users/IUser.cs
index 45d8862f1..249100d37 100644
--- a/src/Discord.Net.Core/Entities/Users/IUser.cs
+++ b/src/Discord.Net.Core/Entities/Users/IUser.cs
@@ -20,8 +20,6 @@ namespace Discord
string Username { get; }
/// Returns a private message channel to this user, creating one if it does not already exist.
- Task GetDMChannelAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null);
- /// Returns a private message channel to this user, creating one if it does not already exist.
- Task CreateDMChannelAsync(RequestOptions options = null);
+ Task GetDMChannelAsync(RequestOptions options = null);
}
}
diff --git a/src/Discord.Net.Rest/Entities/Users/RestUser.cs b/src/Discord.Net.Rest/Entities/Users/RestUser.cs
index cded876c8..36ca242d8 100644
--- a/src/Discord.Net.Rest/Entities/Users/RestUser.cs
+++ b/src/Discord.Net.Rest/Entities/Users/RestUser.cs
@@ -54,7 +54,7 @@ namespace Discord.Rest
Update(model);
}
- public Task CreateDMChannelAsync(RequestOptions options = null)
+ public Task GetDMChannelAsync(RequestOptions options = null)
=> UserHelper.CreateDMChannelAsync(this, Discord, options);
public string GetAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
@@ -64,9 +64,7 @@ namespace Discord.Rest
private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id}{(IsBot ? ", Bot" : "")})";
//IUser
- Task IUser.GetDMChannelAsync(CacheMode mode, RequestOptions options)
- => Task.FromResult(null);
- async Task IUser.CreateDMChannelAsync(RequestOptions options)
- => await CreateDMChannelAsync(options).ConfigureAwait(false);
+ async Task IUser.GetDMChannelAsync(RequestOptions options)
+ => await GetDMChannelAsync(options);
}
}
diff --git a/src/Discord.Net.Rpc/Entities/Users/RpcUser.cs b/src/Discord.Net.Rpc/Entities/Users/RpcUser.cs
index 7ed11e57d..71de1f804 100644
--- a/src/Discord.Net.Rpc/Entities/Users/RpcUser.cs
+++ b/src/Discord.Net.Rpc/Entities/Users/RpcUser.cs
@@ -49,7 +49,7 @@ namespace Discord.Rpc
Username = model.Username.Value;
}
- public Task CreateDMChannelAsync(RequestOptions options = null)
+ public Task GetDMChannelAsync(RequestOptions options = null)
=> UserHelper.CreateDMChannelAsync(this, Discord, options);
public string GetAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
@@ -59,9 +59,7 @@ namespace Discord.Rpc
private string DebuggerDisplay => $"{Username}#{Discriminator} ({Id}{(IsBot ? ", Bot" : "")})";
//IUser
- Task IUser.GetDMChannelAsync(CacheMode mode, RequestOptions options)
- => Task.FromResult(null);
- async Task IUser.CreateDMChannelAsync(RequestOptions options)
- => await CreateDMChannelAsync(options).ConfigureAwait(false);
+ async Task IUser.GetDMChannelAsync(RequestOptions options)
+ => await GetDMChannelAsync(options);
}
}
diff --git a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
index 7575309cb..60fca73b2 100644
--- a/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
+++ b/src/Discord.Net.WebSocket/Entities/Users/SocketUser.cs
@@ -53,10 +53,10 @@ namespace Discord.WebSocket
hasChanges = true;
}
return hasChanges;
- }
+ }
- public Task CreateDMChannelAsync(RequestOptions options = null)
- => UserHelper.CreateDMChannelAsync(this, Discord, options);
+ public async Task GetDMChannelAsync(RequestOptions options = null)
+ => GlobalUser.DMChannel ?? await UserHelper.CreateDMChannelAsync(this, Discord, options) as IDMChannel;
public string GetAvatarUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
=> CDN.GetUserAvatarUrl(Id, AvatarId, size, format);
@@ -66,9 +66,7 @@ namespace Discord.WebSocket
internal SocketUser Clone() => MemberwiseClone() as SocketUser;
//IUser
- async Task IUser.GetDMChannelAsync(CacheMode mode, RequestOptions options)
- => await Task.FromResult(GlobalUser.DMChannel ?? await CreateDMChannelAsync(options) as IDMChannel);
- async Task IUser.CreateDMChannelAsync(RequestOptions options)
- => await CreateDMChannelAsync(options).ConfigureAwait(false);
+ Task IUser.GetDMChannelAsync(RequestOptions options)
+ => GetDMChannelAsync(options);
}
}