Yes. You can intercept the "players" command with et_ClientCommand Lua hook. For example:
function et_ClientCommand(clientNum, command)
command = command:lower()
if command == "players" then
local name = et.gentity_get(clientNum, "pers.netname")
local guid = et.gentity_get(clientNum, "sess.guid")
local logLine = "Player "..name.." silEnT GUID "..guid.." executed command: "..command.."\n"
-- log to the server log
et.G_LogPrint(logLine)
-- log to a separate file
fd, len = et.trap_FS_FOpenFile("clientcommands.log", et.FS_APPEND)
et.trap_FS_Write(logLine, string.len(logLine), fd)
et.trap_FS_FCloseFile(fd)
end
return 0
end