using static TShockAPI.GetDataHandlers; namespace TShockAPI.Handlers { /// /// Handles emoji packets and checks for validity and permissions /// public class EmojiHandler : IPacketHandler { /// /// Invoked when an emoji is sent in chat. Rejects the emoji packet if the player is spoofing IDs or does not have emoji permissions /// /// /// public void OnReceive(object sender, EmojiEventArgs args) { if (args.PlayerIndex != args.Player.Index) { TShock.Log.ConsoleError($"EmojiHandler: Emoji packet rejected for ID spoofing. Expected {args.Player.Index}, received {args.PlayerIndex} from {args.Player.Name}."); args.Handled = true; return; } if (!args.Player.HasPermission(Permissions.sendemoji)) { args.Player.SendErrorMessage("You do not have permission to send emotes!"); args.Handled = true; return; } } } }