Feature: attachment description and content type (#2180)
This commit is contained in:
@@ -7,13 +7,29 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Discord
|
namespace Discord
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Represents an outgoing file attachment used to send a file to discord.
|
||||||
|
/// </summary>
|
||||||
public struct FileAttachment : IDisposable
|
public struct FileAttachment : IDisposable
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the filename.
|
||||||
|
/// </summary>
|
||||||
public string FileName { get; set; }
|
public string FileName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the description of the file.
|
||||||
|
/// </summary>
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets whether this file should be marked as a spoiler.
|
||||||
|
/// </summary>
|
||||||
public bool IsSpoiler { get; set; }
|
public bool IsSpoiler { get; set; }
|
||||||
|
|
||||||
#pragma warning disable IDISP008
|
#pragma warning disable IDISP008
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the stream containing the file content.
|
||||||
|
/// </summary>
|
||||||
public Stream Stream { get; }
|
public Stream Stream { get; }
|
||||||
#pragma warning restore IDISP008
|
#pragma warning restore IDISP008
|
||||||
|
|
||||||
|
|||||||
@@ -62,5 +62,13 @@ namespace Discord
|
|||||||
/// <see langword="true"/> if the attachment is ephemeral; otherwise <see langword="false"/>.
|
/// <see langword="true"/> if the attachment is ephemeral; otherwise <see langword="false"/>.
|
||||||
/// </returns>
|
/// </returns>
|
||||||
bool Ephemeral { get; }
|
bool Ephemeral { get; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the description of the attachment; or <see langword="null"/> if there is none set.
|
||||||
|
/// </summary>
|
||||||
|
string Description { get; }
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the media's <see href="https://en.wikipedia.org/wiki/Media_type">MIME type</see> if present; otherwise <see langword="null"/>.
|
||||||
|
/// </summary>
|
||||||
|
string ContentType { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,13 @@ namespace Discord
|
|||||||
public int? Width { get; }
|
public int? Width { get; }
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Ephemeral { get; }
|
public bool Ephemeral { get; }
|
||||||
|
/// <inheritdoc />
|
||||||
|
public string Description { get; }
|
||||||
|
/// <inheritdoc />
|
||||||
|
public string ContentType { get; }
|
||||||
|
|
||||||
internal Attachment(ulong id, string filename, string url, string proxyUrl, int size, int? height, int? width, bool? ephemeral)
|
internal Attachment(ulong id, string filename, string url, string proxyUrl, int size, int? height, int? width,
|
||||||
|
bool? ephemeral, string description, string contentType)
|
||||||
{
|
{
|
||||||
Id = id;
|
Id = id;
|
||||||
Filename = filename;
|
Filename = filename;
|
||||||
@@ -34,13 +39,16 @@ namespace Discord
|
|||||||
Height = height;
|
Height = height;
|
||||||
Width = width;
|
Width = width;
|
||||||
Ephemeral = ephemeral.GetValueOrDefault(false);
|
Ephemeral = ephemeral.GetValueOrDefault(false);
|
||||||
|
Description = description;
|
||||||
|
ContentType = contentType;
|
||||||
}
|
}
|
||||||
internal static Attachment Create(Model model)
|
internal static Attachment Create(Model model)
|
||||||
{
|
{
|
||||||
return new Attachment(model.Id, model.Filename, model.Url, model.ProxyUrl, model.Size,
|
return new Attachment(model.Id, model.Filename, model.Url, model.ProxyUrl, model.Size,
|
||||||
model.Height.IsSpecified ? model.Height.Value : (int?)null,
|
model.Height.IsSpecified ? model.Height.Value : (int?)null,
|
||||||
model.Width.IsSpecified ? model.Width.Value : (int?)null,
|
model.Width.IsSpecified ? model.Width.Value : (int?)null,
|
||||||
model.Ephemeral.ToNullable());
|
model.Ephemeral.ToNullable(), model.Description.GetValueOrDefault(),
|
||||||
|
model.ContentType.GetValueOrDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user