mirror of
https://github.com/anope/anope.git
synced 2026-06-26 05:06:37 +02:00
e500258ce4
- Add rewritten and namespaced versions of the channel, oper, user events. - Add the following new events: * anope.listChannels * anope.listOpers * anope.listServers * anope.listUsers * anope.server
310 lines
8.2 KiB
Markdown
310 lines
8.2 KiB
Markdown
# Anope `rpc_data` RPC interface
|
|
|
|
## `anope.listChannels`
|
|
|
|
Lists all channels that exist on the network.
|
|
|
|
### Parameters
|
|
|
|
*None*
|
|
|
|
### Errors
|
|
|
|
*Only standard RPC errors*
|
|
|
|
### Result
|
|
|
|
Returns an array of channel names.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
["#chan1", "#chan2", "#chan3"]
|
|
```
|
|
|
|
## `anope.channel`
|
|
|
|
Retrieves information about the specified channel.
|
|
|
|
### Parameters
|
|
|
|
Index | Description
|
|
----- | -----------
|
|
0 | The name of the channel.
|
|
|
|
### Errors
|
|
|
|
Code | Description
|
|
------ | -----------
|
|
-32099 | The specified channel does not exist.
|
|
|
|
### Result
|
|
|
|
Returns a map containing information about the channel.
|
|
|
|
Key | Type | Description
|
|
--- | ---- | -----------
|
|
created | uint | The UNIX time at which the channel was originally created.
|
|
listmodes | map | List modes which are set on the channel keyed by the mode character.
|
|
modes | array[string] | Flag and parameter modes which are set on the channel.
|
|
name | string | The name of the channel.
|
|
registered | boolean | Whether the channel is registered.
|
|
topic | map or null | The channel topic or null if no topic is set.
|
|
topic.setat | uint | The time at which the topic was set.
|
|
topic.setby | string | The nick or nuh of the user who set the topic.
|
|
topic.value | string | The text of the topic.
|
|
users | array[string] | The users that are current in the channel prefixed by their status mode prefixes.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
{
|
|
"created": 1740402691,
|
|
"listmodes": {
|
|
"b": ["foo!bar@baz", "account:bax"],
|
|
},
|
|
"modes": ["+knrt", "secret"],
|
|
"name": "#chan1",
|
|
"registered": true,
|
|
"topic": {
|
|
"setat": 1740404706,
|
|
"setby": "nick1",
|
|
"value": "Example channel topic"
|
|
},
|
|
"users": ["@nick1", "nick2"]
|
|
}
|
|
```
|
|
|
|
## `anope.listOpers`
|
|
|
|
Lists all services operators that exist on the network.
|
|
|
|
### Parameters
|
|
|
|
*None*
|
|
|
|
### Errors
|
|
|
|
*Only standard RPC errors*
|
|
|
|
### Result
|
|
|
|
Returns an array of services operator names.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
["nick1", "nick2", "nick3"]
|
|
```
|
|
|
|
## `anope.oper`
|
|
|
|
Retrieves information about the specified services operator.
|
|
|
|
### Parameters
|
|
|
|
Index | Description
|
|
----- | -----------
|
|
0 | The name of the services operator.
|
|
|
|
### Errors
|
|
|
|
Code | Description
|
|
------ | -----------
|
|
-32099 | The specified services operator does not exist.
|
|
|
|
### Result
|
|
|
|
Returns a map containing information about the services operator.
|
|
|
|
Key | Type | Description
|
|
--- | ---- | -----------
|
|
fingerprints | array[string] or null | The client certificate fingerprints that a user must be using to log in as this services operator or null if there are no client certificate restrictions.
|
|
hosts | array[string] or null | The user@ip and user@ip masks that a user must be connecting from to log in as this services operator or null if there are no host restrictions.
|
|
name | string | The name of the services operator.
|
|
operonly | boolean | Whether a user has to be a server operator to log in as this services operator.
|
|
opertype | map | The oper type associated with the services operator opertype.
|
|
opertype.commands | array[string] | The commands that the services operator type can use.
|
|
opertype.name | string | The name of the services operator type.
|
|
opertype.privileges | array[string] | The privileges that the services operator type has.
|
|
password | boolean | Whether a user has to specify a password to log in as the services operator.
|
|
vhost | string or null | The vhost of the services operator or null if there is no vhost.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
{
|
|
"fingerprints": null,
|
|
"hosts": ["*@*.example.com"],
|
|
"name": "stest",
|
|
"operonly": true,
|
|
"opertype": {
|
|
"commands": ["hostserv/*", "operserv/session"],
|
|
"name": "Helper",
|
|
"privileges": ["chanserv/no-register-limit"]
|
|
},
|
|
"password": false,
|
|
"vhost": null
|
|
}
|
|
```
|
|
|
|
## `anope.listServers`
|
|
|
|
Lists all servers that exist on the network.
|
|
|
|
### Parameters
|
|
|
|
*None*
|
|
|
|
### Errors
|
|
|
|
*Only standard RPC errors*
|
|
|
|
### Result
|
|
|
|
Returns an array of server names.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
["irc1.example.com", "irc2.example.com", "services.example.com"]
|
|
```
|
|
|
|
## `anope.server`
|
|
|
|
Retrieves information about the specified server.
|
|
|
|
### Parameters
|
|
|
|
Index | Description
|
|
----- | -----------
|
|
0 | The name of the server.
|
|
|
|
### Errors
|
|
|
|
Code | Description
|
|
------ | -----------
|
|
-32099 | The specified server does not exist.
|
|
|
|
### Result
|
|
|
|
Returns a map containing information about the server.
|
|
|
|
Key | Type | Description
|
|
--- | ---- | -----------
|
|
description | string | The description of the server.
|
|
downlinks | array[string] | The servers which are behind this server
|
|
juped | boolean | Whether the server has been juped.
|
|
name | string | The name of the server.
|
|
sid | string or null | The unique immutable identifier of the server or null if the IRCd does not use SIDs.
|
|
synced | boolean | Whether the server has finished syncing.
|
|
ulined | boolean | Whether the server is U-lined.
|
|
uplink | string or null | The server in front of this server or null if it is the services server.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
{
|
|
"description": "Anope IRC Services",
|
|
"downlinks": ["irc.example.com"],
|
|
"juped": false,
|
|
"name": "services.example.com",
|
|
"sid": "00B",
|
|
"synced": true,
|
|
"ulined": true,
|
|
"uplink": null
|
|
}
|
|
```
|
|
|
|
## `anope.listUsers`
|
|
|
|
Lists all users that exist on the network.
|
|
|
|
### Parameters
|
|
|
|
*None*
|
|
|
|
### Errors
|
|
|
|
*Only standard RPC errors*
|
|
|
|
### Result
|
|
|
|
Returns an array of user nicknames.
|
|
|
|
|
|
#### Example
|
|
|
|
```json
|
|
["nick1", "nick2", "nick3"]
|
|
```
|
|
|
|
## `anope.user`
|
|
|
|
Retrieves information about the specified user.
|
|
|
|
### Parameters
|
|
|
|
Index | Description
|
|
----- | -----------
|
|
0 | The nickname of the user.
|
|
|
|
### Errors
|
|
|
|
Code | Description
|
|
------ | -----------
|
|
-32099 | The specified user does not exist.
|
|
|
|
### Result
|
|
|
|
Returns a map containing information about the user.
|
|
|
|
Key | Type | Description
|
|
--- | ---- | -----------
|
|
account | map or null | The user's account or null if they are not logged in to an account.
|
|
account.display | string | The display nickname of the account.
|
|
account.opertype | string or null | The account's oper type or null if the account is not a services operator.
|
|
account.uniqueid | uint | The unique immutable identifier of the account.
|
|
address | string | The IP address the user is connecting from.
|
|
channels | array[string] | The channels that the user is in prefixed by their status mode prefixes.
|
|
chost | string or null | The cloaked hostname of the user or null if they have no cloak.
|
|
fingerprint | string or null | The fingerprint of the user's client certificate or null if they are not using one.
|
|
host | string | The real hostname of the user.
|
|
ident | string | The username (ident) of the user.
|
|
modes | array[string] | Flag and parameter modes which are set on the user.
|
|
nick | string | The nickname of the user.
|
|
nickchanged | uint | The time at which the user last changed their nickname.
|
|
real | string | The real name of the user.
|
|
server | string | The server that the user is connected to.
|
|
signon | uint | The time at which the user connected to the network.
|
|
uid | string or null | The unique immutable identifier of the user or null if the IRCd does not use UIDs.
|
|
vhost | string or null | The virtual host of the user or null if they have no vhost.
|
|
vident | string or null | The virtual ident (username) of the user or null if they have no vident.
|
|
|
|
#### Example
|
|
|
|
```json
|
|
{
|
|
"account": {
|
|
"display": "nick1",
|
|
"opertype": "Services Root",
|
|
"uniqueid": "17183514657819486040"
|
|
},
|
|
"address": "127.0.0.1",
|
|
"channels": ["@#chan1", "#chan2"],
|
|
"chost": "localhost",
|
|
"fingerprint": null,
|
|
"host": "localhost",
|
|
"id": "9TSAAAAAA",
|
|
"ident": "user1",
|
|
"modes": ["+r"],
|
|
"nick": "nick1",
|
|
"nickchanged": 1740408318,
|
|
"real": "An IRC User",
|
|
"server": "irc.example.com",
|
|
"signon": 1740408296,
|
|
"vhost": "staff.example.com",
|
|
"vident": null,
|
|
}
|
|
```
|