PluralKit/PluralKit.Bot/Proxy/ProxyMatch.cs

33 lines
957 B
C#
Raw Normal View History

2021-08-27 11:03:47 -04:00
#nullable enable
using PluralKit.Core;
namespace PluralKit.Bot;
public struct ProxyMatch
{
public ProxyMember Member;
public string? Content;
public ProxyTag? ProxyTags;
2021-08-27 11:03:47 -04:00
private bool ShouldKeepProxy()
{
if (Member.ServerKeepProxy != null && Member.ServerKeepProxy.Value)
return true;
else if (Member.KeepProxy && !(Member.ServerKeepProxy != null && !Member.ServerKeepProxy.Value))
return true;
else return false;
}
public string? ProxyContent
{
get
{
// Add the proxy tags into the proxied message if that option is enabled
// Also check if the member has any proxy tags - some cases autoproxy can return a member with no tags
if (ShouldKeepProxy() && ProxyTags != null && Content != null)
return $"{ProxyTags.Value.Prefix}{Content}{ProxyTags.Value.Suffix}";
return Content;
}
}
}