Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- set_time_limit (3600);
- include_once "rcon.php"; //путь до ркон скрипта
- class vk {
- private $token;
- public $ownerid;
- public $lastcurl;
- public function __construct($token) {
- $this->token = $token;
- $this->users = array(250758046, 330677864); //айди людей вк, которые имеют доступ к консоли (через запятую)
- $this->ip = "91.214.70.46"; //айпи сервера
- $this->port = "19132"; //порт сервера
- $this->password = "пароль не покажу)"; //ркон пароль на сервере
- }
- public function check($id) {
- $array = $this->users;
- return in_array($id, $array);
- }
- public function get($chat) {
- var_dump($this->chat($chat, 1));
- $h = $this->chat($chat, 1);
- $msg = $h['response']['items'][0]['body'];
- $user = $h['response']['items'][0]['user_id'];
- var_dump($this->check($user));
- var_dump($user);
- $id = $h['response']['items'][0]['id'];
- if($this->check($user)) {
- var_dump($one = substr($msg, 0, 1));
- if($one == "/") {
- $cmd = substr($msg, 1);
- $sending = $this->sendCommand($cmd);
- if($sending) {
- $text = "Выбраны все сервера. Результат: $sending";
- } else {
- $text = "Выбраны все сервера. Сервер вернул пустой результат.";
- }
- $this->sendChatMessage($chat, $text);
- }
- }
- }
- public function sendCommand($cmd) {
- $password = $this->password;
- $ip = $this->ip;
- $port = $this->port;
- $r = new rcon($ip, $port, $password, 3);
- if($r->connect()) {
- return $r->send_command($cmd);
- }
- }
- public function sendChatMessage($id, $message) {
- $this->go('messages.send', ['chat_id' => $id, 'message' => rawurlencode($message)]);
- $array = json_decode($this->lastcurl, true);
- if(isset($array["response"])) {
- return "Успешно выполнено.";
- } else {
- echo "[sendChatMessage] " .$array["error"]["error_msg"];
- }
- }
- public function chat($id, $count = 20, $offset = 0) {
- $this->go('messages.getHistory', ['chat_id' => $id, 'count' => $count, 'offset' => $offset]);
- $array = json_decode($this->lastcurl, true);
- return $array;
- }
- public function go($method, $par) { /* Данная функция выполняет методы API Вконтакте. */
- $params = '';
- foreach ($par as $key => $val) {
- $params .= $key.'='.$val.'&';
- }
- $this->curl('http://api.vk.com/method/' .$method. '?' .$params. 'access_token=' .$this->token. '&v=5.50');
- }
- public function curl($args) { /* Данная функция выполняет curl запросы. Внимание! Требуется установленный php5-curl на веб.сервере! */
- $curl = curl_init($args);
- curl_setopt($curl, CURLOPT_URL, $args);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
- curl_setopt($curl, CURLOPT_POST, true);
- curl_setopt($curl, CURLOPT_POSTFIELDS, "a=4&b=7");
- $data = @curl_exec($curl);
- @curl_close($curlObject);
- if ($data) {
- $this->lastcurl = $data;
- } else {
- $this->lastcurl = 'Курл не отвечает.';
- }
- }
- }
- for($i = 0; $i < 40; $i++) { // оптимальная скорость
- $v = new vk('Токен не покажу))');
- $v->get(14); //айди конфы вк
- sleep(1.2); // оптимальная скорость
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement