To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.
Api: Difference between revisions
Document errors |
Document NULL |
||
Line 34: | Line 34: | ||
== Types == | == Types == | ||
Scalar types are returned | Scalar types are returned preceded by the string <code>VALUE</code>, or <code>NULL</code> if the result was empty. | ||
Lists of scalar types are returned one element per IRC message, preceded by the string <code>LIST</code> and ended by the string <code>LISTEND</code>. | Lists of scalar types are returned one element per IRC message, preceded by the string <code>LIST</code> and ended by the string <code>LISTEND</code>. Queries that return lists will never return <code>NULL</code>. | ||
Lists of n-tuples are returned one tuple element per IRC message and in order, preceded by the string <code>TUPLELIST <n></code> and ended by the string <code>TUPLELISTEND</code> where <code><n></code> is the arity of the tuples in the list. | Lists of n-tuples are returned one tuple element per IRC message and in order, preceded by the string <code>TUPLELIST <n></code> and ended by the string <code>TUPLELISTEND</code> where <code><n></code> is the arity of the tuples in the list. |
Revision as of 02:44, 6 August 2021
Commands
PING
|
Unconditionally returns PONG. Exists primarily for testing things, or may be used to probe for API availability without making any calls. |
HELP
|
Returns informational text about the API's self-documentation. |
COMMANDS
|
Returns a list of available commands. |
QUERYSCOPES
|
Returns a list of available QUERY scopes. See below. |
QUERY
|
Used to query information. See below. |
QUERY command
The QUERY
command is organized into scopes. The scope specifies where to query for the information. Here are the available scopes:
ZNC
|
Static, ZNC-wide readonly information about the ZNC binary. |
USER
|
Information about the currently authenticated user. |
TODO document parameters
Types
Scalar types are returned preceded by the string VALUE
, or NULL
if the result was empty.
Lists of scalar types are returned one element per IRC message, preceded by the string LIST
and ended by the string LISTEND
. Queries that return lists will never return NULL
.
Lists of n-tuples are returned one tuple element per IRC message and in order, preceded by the string TUPLELIST <n>
and ended by the string TUPLELISTEND
where <n>
is the arity of the tuples in the list.
For example, here is a list of the numbers 1, 2, and 3:
LIST 1 2 3 LISTEND
And here is a list of the 2-tuples (A, 1)
, (B, 2)
, and (C, 3)
:
TUPLELIST 2 A 1 B 2 C 3 TUPLELISTEND
Errors
Each error consists of a general code followed by a space and a more specific, human-readable string. Here are all the error codes you may encounter:
EINVAL
|
Invalid command or argument |
EACCES
|
Permission denied |
Here's an example of an error returned after trying to QUERY
a property that doesn't exist in the USER
scope:
EINVAL Unknown query in scope USER
Here EINVAL
is the general code and Unknown query in scope USER
is the human-readable-string. Both elements of these errors will be kept stable over time.