This commit is contained in:
2023-02-11 10:37:40 -03:00
parent 79b1a0e15e
commit c0f7c8cc1d
6 changed files with 268 additions and 159 deletions

View File

@@ -0,0 +1,18 @@
using Discord;
using Discord.Rest;
namespace Kasbot.Extensions
{
public static class RestMessageExtensions
{
public static async Task TryDeleteAsync(this RestMessage message, RequestOptions options = null)
{
try
{
await message.DeleteAsync(options);
}
catch { }
}
}
}

View File

@@ -0,0 +1,25 @@
using Discord;
using Discord.WebSocket;
namespace Kasbot.Extensions
{
public static class SocketMessageExtensions
{
private const int MessageDelay = 3_000; // in ms
public static async Task SendTemporaryMessageAsync(this ISocketMessageChannel channel, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = MessageFlags.None)
{
var message = await channel.SendMessageAsync(text, isTTS, embed, options, allowedMentions, messageReference, components, stickers, embeds, flags);
await Task.Delay(MessageDelay);
await message.DeleteAsync();
}
public static async Task SendTemporaryMessageAsync(this IMessageChannel channel, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null, MessageReference messageReference = null, MessageComponent components = null, ISticker[] stickers = null, Embed[] embeds = null, MessageFlags flags = MessageFlags.None)
{
var message = await channel.SendMessageAsync(text, isTTS, embed, options, allowedMentions, messageReference, components, stickers, embeds, flags);
await Task.Delay(MessageDelay);
await message.DeleteAsync();
}
}
}