Библиотека для программного использования ВСЕГО функционала форума lolz.guru
- 🔑 Установка библиотеки
- 🏷️ Builder
- 🏷️ Официальное API
- 📝 Как использовать?
- 📂 Доступные методы
- 📌 Метод threads/getList
- 📌 Метод threads/aboutOne
- 📌 Метод posts/getList
- 📌 Метод posts/create
- 📌 Метод posts/delete
- 📌 Метод posts/like
- 📌 Метод posts/unlike
- 📌 Метод users/find
- 📌 Метод users/getPosts
- 📌 Метод users/subscribe
- 📌 Метод users/unsubscribe
- 📌 Метод users/whoIAm
- 📌 Метод pages/getList
- 📌 Метод pages/aboutOne
- 📌 Метод notifications/getList
- 📌 Метод notifications/aboutOne
- 📌 Метод conversations/getList
- 📌 Метод conversations/create
- 📌 Метод conversations/delete
- 📌 Метод conversations/aboutOne
Установить данную библиотеку можно с помощью composer:
composer require destyk/lztcombine-php
С помощью builder'a Вы сможете выполнить абсолютно любой запрос к форуму словно так, будто Вы его совершили в своём браузере, минуя официальный API.
V8Js
.
Инструкция по установке расширения на Ubuntu находится здесь.
Чтобы начать работу, Вам необходим параметр xf_user
.
Узнать как и где его получить можно здесь.
require('vendor/autoload.php');
use DestyK\LztPHP\Builder\Core\Request;
use DestyK\LztPHP\Builder\Init;
use DestyK\LztPHP\Exception;
try {
$builder = new Init('*xf_user*');
// Если на Вашем аккаунте включена двуфакторная система авторизации, то изначально стоит вызвать метод верификации
// Подробнее об этом методе чуть ниже
$builder->login()->verify2fa('*Одноразовый код*', '*Тип приложения*');
// Можно создать свой собственный метод. Например, добавить человека в список игнор-листа.
$builder->createMethod('account/ignore', Request::POST, [
'users' => 'BotFather,'
]);
// Также есть возможность использовать методы, реализованные из "коробки".
// Например, участвовать в конкурсе
$threadId = 4120785; // Id темы с розыгрышем
$builder->threads()->participate($threadId);
} catch(\Exception $e) {
echo $e->getMessage();
}
Позволяет пройти проверку системой 2FA.
You need to call the method: $builder->login()->verify2fa(code, provider)
.
...
// Проходим авторизацию с помощью системы 2FA
$code = '2444332'; // Одноразовый код из приложения, Telegram или же с эл. почты
$provider = 'totp'; // Тип приложения. Доступны значения: totp (приложение), telegram (Telegram) и email (эл. почта)
$builder->login()->verify2fa($code, $provider);
После успешного прохождения авторизации, вызов этого метода лучше убрать, т.к. будет совершаться дополнительный лишний запрос к форуму.
Позволяет создать абсолютно любой запрос к форуму lolzteam, минуя официальный API.
...
// Для наглядности можем создать вручную метод threads/bump
$threadId = 2444332; // ID Вашей темы, которую нужно поднять
$builder->createMethod('threads/' . $threadId . '/bump', $builder::GET);
Позволяет участвовать в конкурсе.
...
$threadId = 2444332; // ID темы с конкурсом
$builder->threads()->participate($threadId);
Позволяет поднять указанную тему (если она является Вашей).
...
$threadId = 2444332; // ID Вашей темы, которую нужно поднять
$builder->threads()->bump($threadId);
Попытка купить указанный аккаунт.
...
$itemId = 2444332; // ID аккаунта, который нужно купить
$price = 15; // Стоимость, за которую готовы совершить покупку
$builder->market()->purchase($itemId, $price);
Проверяем купленный аккаунт на валид/невалид.
market/purchase
...
$itemId = 2444332; // ID аккаунта, который нужно проверить
$builder->market()->purchaseCheck($itemId);
Подтверждаем покупку и получаем купленный товар.
market/purchaseCheck
...
$itemId = 2444332; // ID аккаунта, покупку которого нужно подтвердить
$builder->market()->purchaseConfirm($itemId);
Создаёт новую заявку на пополнение счёта
...
$amount = 50; // Сумма для пополнения
$currency = 'rub'; // Валюта пополнения
$method = 'P2PQiwi'; // Метод оплаты
$builder->market()->paymentCreate($currency, $amount, $method);
Проверяет поступление платежа по ранее созданной заявке.
...
$orderId = 125531; // ID ранее созданной Вами заявки
$builder->market()->paymentCheck($orderId);
Чтобы начать работу, Вам необходимо получить access_token
.
Узнать как и где его получить можно здесь.
require('vendor/autoload.php');
use DestyK\LztPHP\API\Init;
try {
$api = new Init('*Ваш token*');
$result = $api->users()->whoIAm();
} catch(\Exception $e) {
echo $e->getMessage();
}
Парсит темы с форума, исходя из указанных параметров.
...
$threads = $api->threads()->getList([
'page' => 2,
'limit' => 5
]);
Подробнее о входящих/выходящих параметрах метода
Парсит информацию об указанной теме.
...
$threadId = 5000; // ID темы
$thread = $api->threads()->aboutOne($threadId);
Подробнее о входящих/выходящих параметрах метода
Парсит посты из определённой темы, исходя из указанных параметров.
...
$threads = $api->posts()->getList([
'thread_id' => 26412, // ID темы
'page' => 1,
'limit' => 10
]);
Подробнее о входящих/выходящих параметрах метода
Создаёт новый пост в указанной теме.
...
$threadId = 5000; // ID темы
$postBody = 'Hello World'; // Содержимое поста
$post = $api->posts()->create($threadId, $postBody, [
'quote_post_id' => 12050 // Если передается, то threadId не обязателен
]);
Подробнее о входящих/выходящих параметрах метода
Удаляет созданный пост.
...
$postId = 5000; // ID созданного поста
$api->posts()->delete($postId, [
'reason' => 'Так звёзды сошлись...' // Причина удаления
]);
Подробнее о входящих/выходящих параметрах метода
Поставить лайк на указанный пост.
...
$postId = 5000; // ID созданного поста
$api->posts()->like($postId);
Подробнее о входящих/выходящих параметрах метода
Убрать лайк с указанного поста.
...
$postId = 5000; // ID созданного поста
$api->posts()->unlike($postId);
Подробнее о входящих/выходящих параметрах метода
Парсит пользователей форума, исходя из указанных параметров.
...
$users = $api->users()->getList([
'username' => 'DestyK', // юзернейм
'user_email' => '[email protected]' // почта юзера
]);
Подробнее о входящих/выходящих параметрах метода
Спрсить список постов пользователя.
...
$userId = 14647; // ID пользователя
$posts = $api->users()->getPosts($userId, [
'page' => 1,
'limit' => 5
]);
Подробнее о входящих/выходящих параметрах метода
Оформляет подписку на указанного пользователя.
...
$userId = 14647; // ID пользователя
$api->users()->subscribe($userId);
Подробнее о входящих/выходящих параметрах метода
Отменяет подписку на указанного пользователя.
...
$userId = 14647; // ID пользователя
$api->users()->unsubscribe($userId);
Подробнее о входящих/выходящих параметрах метода
Получить информацию о текущем токене.
...
$info = $api->users()->whoIAm();
Подробнее о входящих/выходящих параметрах метода
Парсит разделы с форума, исходя из указанных параметров.
...
$pages = $api->pages()->getList([
'parent_page_id' => 2, // ID родительского раздела
'order' => 'natural' // Доступны значения: natural, list
]);
Подробнее о входящих/выходящих параметрах метода
Парсит информацию об указанном разделе.
...
$pageId = 2000; // ID раздела
$pageInfo = $api->pages()->aboutOne($pageId);
Подробнее о входящих/выходящих параметрах метода
Парсит оповещения пользователя.
...
$notifications = $api->notifications()->getList();
Подробнее о входящих/выходящих параметрах метода
Получает содержимое оповещения.
...
$notificationId = 2000; // ID оповещения
$notificationInfo = $api->notifications()->aboutOne($notificationId);
Подробнее о входящих/выходящих параметрах метода
Парсит личные сообщения, исходя из указанных параметров.
...
$conversations = $api->conversations()->getList([
'page' => 2,
'limit' => 5
]);
Подробнее о входящих/выходящих параметрах метода
Создаёт новое личное сообщение.
...
$conversationTitle = 'Привет, как дела?'; // Заголовок личного сообщения
$recipients = '1252,3556,4361'; // ID пользователей через запятую
$messageBody = 'Содержимое сообщения';
$conversation = $api->conversations()->create($conversationTitle, $recipients, $messageBody);
Подробнее о входящих/выходящих параметрах метода
Удаляет личное сообщение.
...
$conversationId = 7000; // ID личного сообщения
$api->conversations()->delete($conversationId);
Подробнее о входящих/выходящих параметрах метода
Получить подробное содержимое личного сообщения.
...
$conversationId = 7000; // ID личного сообщения
$conversation = $api->conversations()->aboutOne($conversationId);