public async Task OnMessageUpdatedCacheableIMessage ulong oldMessage SocketMessage newMessage ISocketMessageChannel channel var logsChannel = _clientGetChannel1090630057455784046 as IMessag
Kodda if (newMessage.Author.IsBot) return; satırı var, bu satır botların mesajlarını loglamayı engelliyor. Ancak bu satır sadece botların mesajlarını engelleyeceği için, bir kişi fotoğraf yüklediğinde de log verilecektir. Bu durumu engellemek için if (newMessage.Attachments.Count > 0) return; satırını kodun başına ekleyebilirsiniz. Bu satır, mesajda herhangi bir ek dosya varsa loglamayı engelleyecektir.
Kodun son hali şu şekilde olacaktır:
public async Task OnMessageUpdated(Cacheable<IMessage, ulong> oldMessage, SocketMessage newMessage, ISocketMessageChannel channel)
{
var logsChannel = _client.GetChannel(1090630057455784046) as IMessageChannel;
if (logsChannel == null) return;
if (newMessage.Author.IsBot || newMessage.Attachments.Count > 0) return;
var embed = new EmbedBuilder
{
Color = Color.Orange,
Title = "Mesaj Düzenlendi",
Description = $"**Kullanıcı:** {newMessage.Author.Mention}\n**Kanal:** {newMessage.Channel.Name}",
Timestamp = new DateTimeOffset(DateTime.UtcNow)
};
if (oldMessage.HasValue && oldMessage.Value.Content != newMessage.Content)
{
embed.AddField("Eski Mesaj", oldMessage.Value.Content);
embed.AddField("Yeni Mesaj", newMessage.Content);
}
await logsChannel.SendMessageAsync(embed: embed.Build());
}
Böylece, bir kişi bir fotoğraf yüklediğinde log verilmeyecektir.
原文地址: https://www.cveoy.top/t/topic/Oke 著作权归作者所有。请勿转载和采集!