Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dan1lov/php-vkhp
VK Helper is library simplifies work with some functions VK API
https://github.com/dan1lov/php-vkhp
helper php vk vk-api vkapi
Last synced: 15 days ago
JSON representation
VK Helper is library simplifies work with some functions VK API
- Host: GitHub
- URL: https://github.com/dan1lov/php-vkhp
- Owner: dan1lov
- License: mit
- Created: 2020-05-13T10:35:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-07-21T11:19:51.000Z (over 4 years ago)
- Last Synced: 2024-10-10T18:23:22.349Z (about 1 month ago)
- Topics: helper, php, vk, vk-api, vkapi
- Language: PHP
- Size: 88.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# php-vkhp
VK Helper — библиотека, упрощающая работу с некоторыми функциями VK API.
С её помощью вы можете легко создавать кнопки/клавиатуру без лишних движений, для дальнейшего прикрепления их к отправляемому сообщению.Также, не маловажной функцией является возможность за один раз отправить сообщение более чем 100 получателям. Не нужно создавать какие-либо циклы, чтобы по-этапно отправить нужное сообщение каждому пользователю. Просто укажите всех пользователей, которым нужно отправить сообщение, а VKHP это сделает за вас.
Текущая версия VK API — `5.120`, испольуемая по умолчанию в каждом запросе, в котором явно не указана версия.
## Требования
* PHP >= 7.2## Установка
Вариант установки через composer:
```
composer require dan1lov/php-vkhp
```Вторым, более простым, вариантом является просто перенос файла `src/VKHP_onefile.php` в папку с вашим проектом и последующим его подключением:
```php
require 'path/to/vkhp/VKHP_onefile.php';
```## Примеры использования
### Готовые шаблоны
Примеры ботов, построенных с использованием `VKHP`, можно найти в [dan1lov/vk-boilerplate-bot](https://github.com/dan1lov/vk-boilerplate-bot)### Отправка сообщения
```php
use VKHP\Method as VKHPM;$access_token = 'your_access_token_string';
$user_id = 807533;
$message = 'Привет, дружище!';VKHPM::messagesSend($access_token, [
'user_ids' => $user_id,
'message' => $message,
'random_id' => 0
]);
```### Сообщение с клавиатурой
```php
use VKHP\Method as VKHPM;
use VKHP\Generator as VKHPG;// для установки типа клавиатуры используется второй аргумент
// KM_ONETIME - одноразовая, KM_INLINE - инлайн
$keyboard = VKHPG::keyboard([[
// текст цвет payload (полезная нагрузка)
VKHPG::button('Название кнопки', VKHPG::BLUE, [ 'command' => 'start' ]),
VKHPG::button('Вторая кнопка', VKHPG::GREEN, [ 'second_btn' => true ]),
]], VKHPG::KM_ONETIME);VKHPM::messagesSend($access_token, [
'user_ids' => $user_id,
'message' => $message,
'keyboard' => $keyboard
'random_id' => 0
]);
```### Типы кнопок
```php
use VKHP\Generator as VKHPG;// обычная кнопка
VKHPG::button(label, color, payload);// кнопка-ссылка
VKHPG::buttonLink(label, link);// кнопка, отправляющая текущее местоположение
VKHPG::buttonLocation(payload);// кнопка для оплаты через VK Pay
VKHPG::buttonVKPay(hash);// кнопка, открывающая приложение VK Mini Apps
VKHPG::buttonVKApps(label, app_id, owner_id, hash);// callback-кнопка
VKHPG::buttonCallback(label, color, payload);
```### Загрузка медиа
```php
use VKHP\Method as VKHPM;$files1 = [ 'path/to/image.png' ];
$files2 = [ 'path/to/document1.txt', 'path/to/doc2.pdf' ];$media1 = VKHPM::uploadMessagesPhoto($access_token, $files1, [ 'peer_id' => 807533 ]);
// array('photo123_321')$media2 = VKHPM::uploadMessagesDoc($access_token, $files2, [ 'peer_id' => 807533, 'type' => 'doc' ]);
// array('doc123_321', 'doc123_322')
```### Запрос к VK API
```php
use VKHP\Method as VKHPM;$query = VKHPM::make($access_token, 'users.get', [
'user_ids' => 807533,
'fields' => 'screen_name'
]);
```### Временные файлы
```php
use VKHP\Scenarios as VKHPTemp;$user_id = 807533;
$temp_folder = 'path/to/tmp/folder';// проверка на существование файла
$exist = VKHPTemp::check($temp_folder, $user_id);
// true, falseif ($exist) {
$temp = new VKHPTemp($temp_folder, $user_id);
// или $temp = VKHPTemp::check($temp_folder, $user_id, true);$temp->command = 'buy_chickens';
$temp->amount = 100500;// сохранение в файл "{$temp_folder}/file_id{$user_id}.json"
$temp->save();echo "Command: {$temp->command}, Amount: {$temp->amount}";
// Command: buy_chickens, Amount: 100500
}// удаление временного файла
$temp->clear();
```