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

From ZNC
Revision as of 21:02, 5 August 2021 by Strugee (talk | contribs) (Document errors)
Jump to navigation Jump to search

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 without any special syntax.

Lists of scalar types are returned one element per IRC message, preceded by the string LIST and ended by the string LISTEND.

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.