summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2025-05-05 18:36:37 +0100
committerSadie Powell <sadie@witchery.services>2025-05-05 21:18:27 +0100
commitfab8589e1ea12906ad978477d8025f526051792a (patch)
tree62e05f8558acf0a25241ca8ddf33d183e51ff36b /docs
parent937404e3118f10735875ff45a658facbf77e984d (diff)
Remove rpc_main.
Diffstat (limited to 'docs')
-rw-r--r--docs/RPC/RPC21
-rw-r--r--docs/RPC/jsonrpc.php150
2 files changed, 0 insertions, 171 deletions
diff --git a/docs/RPC/RPC b/docs/RPC/RPC
deleted file mode 100644
index eee81c632..000000000
--- a/docs/RPC/RPC
+++ /dev/null
@@ -1,21 +0,0 @@
-RPC using JSON-RPC and XML-RPC (using PECL's xmlrpc_encode_request and xmlrpc_decode functions) is supported.
-
-This allows external applications, such as websites, to execute remote procedure calls to Anope in real time.
-
-Currently there are 5 supported RPC calls, provided by rpc_main:
-
-checkAuthentication - Takes two parameters, an account name and a password. Checks if the account name is valid and the password
- is correct for the account name, useful for making login pages on websites.
-
-command - Takes three parameters, a service name (BotServ, ChanServ, NickServ), a user name (whether online or not), and the command
- to execute. This will execute the given command to Anope using the given service name. If the user given is online, the
- command reply will go to them, if not it is returned by RPC.
-
-stats - Takes no parameters, returns miscellaneous stats that can be found in the /operserv stats command.
-
-RPC was designed to be used with db_sql, and will not return any information that can be pulled from the SQL
-database, such as accounts and registered channel information. It is instead used for pulling realtime data such
-as users and channels currently online. For examples on how to use these calls in PHP, see xmlrpc.php in docs/RPC.
-
-Also note that when using XMLRPC the parameter named "id" is reserved for query ID. If you pass a query to Anope containing a value for id. it will
-be stored by Anope and the same id will be passed back in the result.
diff --git a/docs/RPC/jsonrpc.php b/docs/RPC/jsonrpc.php
deleted file mode 100644
index 4e9b52ba9..000000000
--- a/docs/RPC/jsonrpc.php
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-
-/**
- * JSON-RPC functions
- *
- * (C) 2003-2025 Anope Team
- * Contact us at team@anope.org
- */
-
-class AnopeRPC
-{
- /**
- * The RPC host
- *
- * @var string
- */
- private $host;
-
- /**
- * Initiate a new AnopeRPC instance
- *
- * @param $host
- */
- public function __construct($host)
- {
- $this->host = $host;
- }
-
- /**
- * Run an RPC command. Name should be a query name and params an array of parameters, eg:
- * $this->raw("checkAuthentication", ["adam", "qwerty"]);
- * If successful returns back an array of useful information.
- *
- * Note that $params["id"] is reserved for query ID, you may set it to something if you wish.
- * If you do, the same ID will be passed back with the reply from Anope.
- *
- * @param $name
- * @param $params
- * @return array|null
- */
- public function run($name, $params)
- {
- $request = json_encode([
- "jsonrpc" => "2.0",
- "id" => uniqid(),
- "method" => $name,
- "params" => $params,
- ]);
- $context = stream_context_create(["http" => [
- "method" => "POST",
- "header" => "Content-Type: application/json",
- "content" => $request]]);
-
- $inbuf = file_get_contents($this->host, false, $context);
- $response = json_decode($inbuf, true);
-
- if ($response) {
- return $response;
- }
-
- return null;
- }
-
- /**
- * Do Command on Service as User, eg:
- * $anope->command("ChanServ", "Adam", "REGISTER #adam");
- * Returns an array of information regarding the command execution, if
- * If 'online' is set to yes, then the reply to the command was sent to the user on IRC.
- * If 'online' is set to no, then the reply to the command is in the array member 'return'
- *
- * @param $service
- * @param $user
- * @param $command
- * @return array|null
- */
- public function command($service, $user, $command)
- {
- return $this->run("command", [$service, $user, $command]);
- }
-
- /**
- * Check an account/nick name and password to see if they are valid
- * Returns the account display name if valid
- *
- * @param $account
- * @param $pass
- * @return string|null
- */
- public function auth($account, $pass)
- {
- $ret = $this->run("checkAuthentication", [$account, $pass]);
-
- if ($ret && array_key_exists("result", $ret) && array_key_exists("account", $ret["result"])) {
- return $ret["result"]["account"];
- }
-
- return null;
- }
-
- /**
- * Returns an array of misc stats regarding Anope
- *
- * @return array|null
- */
- public function stats()
- {
- return $this->run("stats", null);
- }
-
- /**
- * Look up data for a channel
- * Returns an array containing channel information, or an array of size one
- * (just containing the name) if the channel does not exist
- *
- * @param $channel
- * @return array|null
- */
- public function channel($channel)
- {
- return $this->run("anope.channel", [$channel]);
- }
-
- /**
- * Sent a notice to a user.
- * Returns an array containing channel information, or an array of size one
- * (just containing the name) if the channel does not exist
- *
- * @param $source
- * @param $target
- * @param $message
- * @return array|null
- */
- public function notice($source, $target, $message)
- {
- return $this->run("anope.messageUser", [$source, $target, $message]);
- }
-
- /**
- * Like channel(), but different.
- *
- * @param $user
- * @return array|null
- */
- public function user($user)
- {
- return $this->run("anope.user", [$user]);
- }
-}
-
-$anope = new AnopeRPC("http://127.0.0.1:8080/jsonrpc");