Tip of the day: Check out Special users on how to give trusted users/bots more rights without making them IRCOp. |
JSON-RPC:Client Object
Jump to navigation
Jump to search
This can be a user, a server or a freshly accepted connection that is still in the handshake and we don't know yet what it will be.
Detail level | Variable | Description | Example value |
---|---|---|---|
0+ | name | The name of the client (nick name, server name, ..) | Syzop
|
0+ | id | The unique client ID | 001F9RV02
|
1+ | hostname | Resolved hostname (or IP) | xyz.example.org
|
1+ | ip | IP address of the user (empty for services) | 198.51.100.1
|
1+ | details | Detailed description of the client. The output depends on the type of client and what information we have. |
nick!user@host
|
1+ | geoip | GeoIP information regarding the IP address of the user (not always available) | (see next) |
1+ | geoip.country_code | The ISO 3166-1 alpha-2 country code | NL
|
1+ | geoip.asn | The AS (Autonomous System) number that the user is connecting from | 16276
|
1+ | geoip.asname | The AS (Autonomous System) name that the user is connecting from | OVH SAS
|
2+ | server_port | Server TCP port (unrealircd side) | 6697
|
2+ | client_port | Client TCP port (client side) | 37030
|
2+ | connected_since | Date/time when the client connected (only available for local clients) | 2022-05-23T11:02:06.000Z
|
2+ | idle_since | Last time the client said anything in PM or channel (only available for local clients) | 2022-05-23T11:02:06.000Z
|
2+ | tls | If the client is using SSL/TLS then this contains a tls object which has two members | (see next) |
2+ | tls.cipher | The TLS cipher negotiated with the client | TLSv1.3-TLS_CHACHA20_POLY1305_SHA256
|
2+ | tls.certfp | The client Certificate fingerprint (if any) | aafe66a7d808e1fca077805c54b1274a92d30c3023e35ec130f358d238218296
|
2+ | user | If the client is a user (a person) then additional information is available in this object. | See client.user object |
2+ | server | If the client is a server then additional information is available in this object. | See client.server object |
See also below for the user and server objects.
client.user object
If the client is a user then there is a user object within the client object:
Detail level | Variable | Description | Example value |
---|---|---|---|
2+ | user.username | The user name / ident | ~xyz
|
2+ | user.realname | The real name / GECOS | IRC User
|
2+ | user.vhost | If the user is +x or +t this contains the vhost/cloakedhost
|
oper/netadmin.test.net
|
2+ | user.cloakedhost | The calculated cloaked host, even if the user is not +x
|
Mask-8608861.example.net
|
2+ | user.servername | The server to which the user is connected | irc.example.net
|
2+ | user.account | The account name, if the user is logged in to Services. | SomeAccount
|
2+ | user.reputation | The reputation score. | 10000
|
2+ | user.security-groups | The security groups that the user is in. | ["known-users"]
|
2+ | user.modes | The user modes of the user. | "iwx"
|
2+ | user.snomasks | The snomasks of the user, if they are IRCOp. | "iwx"
|
2+ | user.operlogin | The name of the oper { } block, if they are IRCOp. | "iwx"
|
2+ | user.snomasks | The oper::operclass, if they are IRCOp. | "iwx"
|
3 | user.channels | The channels the user is in. Minimized and capped at 384 bytes total length. |
["#a","#b","#c"]
|
4 | user.channels | The channels the user is in with the level | [{"name": "#a", "level": "o"}, {"name": "#b", "level": "o"}, {"name": "#c", "level": "o"}]
|
client.server object
If the client is a server then there is a server object within the client object:
Detail level | Description | Example value | |
---|---|---|---|
2+ | server.info | The server description | Primary IRC server of example.net
|
2+ | server.num_users | Number of currently connected users | 123
|
2+ | server.boot_time | Date/time the server was started | 2022-05-23T11:02:06.000Z
|
2+ | server.synced | Set to 1 if the server is synced, 0 if the server is currently linking in and syncing users/channels/etc. | 1
|
2+ | server.features.software | Server software version in use | UnrealIRCd 6.0.0
|
2+ | server.features.protocol | UnrealIRCd protocol version | 6000
|
2+ | server.features.usermodes | User modes supported by this server | abcd
|
2+ | server.features.chanmodes | Channel modes supported by this server. This is an array of 4 strings, the same format as IRC numeric 005 CHANMODES=. |
['abc','def','ghi','jkl']
|
2+ | server.features.nick_character_sets | Nick Character Sets supported by this server. Comma separated string. |
|