client.platform.hwtype
STRING, read-only.
Available inall subroutines.
A string representation of the primary client platform hardware. The most commonly used device types are also identified via boolean variables. Because a device may have multiple device types and this variable only has the primary type, we recommend using the boolean variables for logic and using this string representation for logging.
Device Atlas provides a full list of potential values.
A client.platform.hwtype
value of TV
refers to a Smart TV
as in client.platform.smarttv
, rather than a TV Player
as in client.platform.tvplayer
.
Example
An example categorizing hardware types to an approximately relevant emoji, using a table in VCL. You can use this example to build your own table for values mapping to hardware types:
table hwtype { "Camera": "%u{1F4F7}", "Cellular Gateway": "%u{1F4F1}", "Data Collection Terminal": "%u{1F4CA}", "Desktop": "%u{1F5A5}", "Digital Home Assistant": "%u{1F3E0}", "Digital Signage Media Player": "%u{1F5BC}", "Embedded Network Module": "%u{1F5A7}", "eReader": "%u{1F4D7}", "Fixed Wireless Phone": "%u{FE0F}", "Games Console": "%u{1F3AE}", "Geolocation Tracker": "%u{1F30D}", "Glasses": "%u{1F453}", "Media Player": "%u{1F4FB}", "Mobile Phone": "%u{1F4F1}", "Payment Terminal": "%u{1F4B3}", "Plug-in Modem": "%u{1F5A5}", "Refrigerator": "%u{1F3E0}", "Set Top Box": "%u{1F4FA}", "SIM Adaptor": "%u{1F4F1}", "Single-board Computer": "%u{1F353}", "Tablet": "%u{1F48A}", "TV": "%u{1F4FA}", # smart TV "Vehicle Multimedia System": "%u{1F69B}", "Vehicle Phone": "%u{1F69B}", "Weighing Scale": "%u{1F3E0}", "Wireless Hotspot": "%u{1F4F6}", "Wristwatch": "%u{231A}",
# special cases "Bot": "%u{1F916}", "Unknown": "%u{2754}"}
sub client_class_emoji STRING { return table.lookup(hwtype, if (client.class.bot, "Bot", if (client.platform.hwtype != "", client.platform.hwtype, "Unknown")));}