mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-01-31 09:09:00 +03:00
Octol1ttle
793afd0e06
1. The root namespace was changed from `Octobot` to `TeamOctolings.Octobot`: > DO prefix namespace names with a company name to prevent namespaces from different companies from having the same name. 2. `Octobot.cs` was renamed to `Program.cs`: > DO NOT use the same name for a namespace and a type in that namespace. 3. `IOption`, `Option` were renamed to `IGuildOption` and `GuildOption` respectively: > DO NOT introduce generic type names such as Element, Node, Log, and Message. 4. `Utility` was moved out of the `Services` namespace. It didn't belong there anyway 5. `Program` static fields were moved to `Utility` 6. Localisation files were moved back to the project source files. Looks like this fixed `Message.Designer.cs` code generation --------- Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
29 lines
1.4 KiB
C#
29 lines
1.4 KiB
C#
using OneOf;
|
|
using Remora.Discord.API.Abstractions.Objects;
|
|
using Remora.Discord.API.Abstractions.Rest;
|
|
using Remora.Discord.API.Objects;
|
|
using Remora.Rest.Core;
|
|
using Remora.Results;
|
|
|
|
namespace TeamOctolings.Octobot.Extensions;
|
|
|
|
public static class ChannelApiExtensions
|
|
{
|
|
public static async Task<Result> CreateMessageWithEmbedResultAsync(this IDiscordRestChannelAPI channelApi,
|
|
Snowflake channelId, Optional<string> message = default, Optional<string> nonce = default,
|
|
Optional<bool> isTextToSpeech = default, Optional<Result<Embed>> embedResult = default,
|
|
Optional<IAllowedMentions> allowedMentions = default, Optional<IMessageReference> messageRefenence = default,
|
|
Optional<IReadOnlyList<IMessageComponent>> components = default,
|
|
Optional<IReadOnlyList<Snowflake>> stickerIds = default,
|
|
Optional<IReadOnlyList<OneOf<FileData, IPartialAttachment>>> attachments = default,
|
|
Optional<MessageFlags> flags = default, CancellationToken ct = default)
|
|
{
|
|
if (!embedResult.IsDefined() || !embedResult.Value.IsDefined(out var embed))
|
|
{
|
|
return ResultExtensions.FromError(embedResult.Value);
|
|
}
|
|
|
|
return (Result)await channelApi.CreateMessageAsync(channelId, message, nonce, isTextToSpeech, new[] { embed },
|
|
allowedMentions, messageRefenence, components, stickerIds, attachments, flags, ct);
|
|
}
|
|
}
|