You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

UploadWebhookFileParams.cs 1.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma warning disable CS1591
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using Discord.Net.Rest;
  5. namespace Discord.API.Rest
  6. {
  7. internal class UploadWebhookFileParams
  8. {
  9. public Stream File { get; }
  10. public Optional<string> Filename { get; set; }
  11. public Optional<string> Content { get; set; }
  12. public Optional<string> Nonce { get; set; }
  13. public Optional<bool> IsTTS { get; set; }
  14. public Optional<string> Username { get; set; }
  15. public Optional<string> AvatarUrl { get; set; }
  16. public Optional<Embed[]> Embeds { get; set; }
  17. public UploadWebhookFileParams(Stream file)
  18. {
  19. File = file;
  20. }
  21. public IReadOnlyDictionary<string, object> ToDictionary()
  22. {
  23. var d = new Dictionary<string, object>();
  24. d["file"] = new MultipartFile(File, Filename.GetValueOrDefault("unknown.dat"));
  25. if (Content.IsSpecified)
  26. d["content"] = Content.Value;
  27. if (IsTTS.IsSpecified)
  28. d["tts"] = IsTTS.Value.ToString();
  29. if (Nonce.IsSpecified)
  30. d["nonce"] = Nonce.Value;
  31. if (Username.IsSpecified)
  32. d["username"] = Username.Value;
  33. if (AvatarUrl.IsSpecified)
  34. d["avatar_url"] = AvatarUrl.Value;
  35. if (Embeds.IsSpecified)
  36. d["embeds"] = Embeds.Value;
  37. return d;
  38. }
  39. }
  40. }