{"id":15447365,"url":"https://github.com/krypt0nn/vkapi","last_synced_at":"2025-04-10T00:35:43.968Z","repository":{"id":57009499,"uuid":"188096731","full_name":"krypt0nn/VKAPI","owner":"krypt0nn","description":"Работа с API ВКонтакте для PHP 7.4","archived":false,"fork":false,"pushed_at":"2021-03-13T10:30:14.000Z","size":51,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T02:21:41.130Z","etag":null,"topics":["api","php","vk","vk-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krypt0nn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-22T18:56:02.000Z","updated_at":"2021-07-31T19:47:53.000Z","dependencies_parsed_at":"2022-08-21T14:50:55.492Z","dependency_job_id":null,"html_url":"https://github.com/krypt0nn/VKAPI","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FVKAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FVKAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FVKAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FVKAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krypt0nn","download_url":"https://codeload.github.com/krypt0nn/VKAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137813,"owners_count":21053770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","php","vk","vk-api"],"created_at":"2024-10-01T20:05:02.247Z","updated_at":"2025-04-10T00:35:43.947Z","avatar_url":"https://github.com/krypt0nn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🚀 VKAPI\u003c/h1\u003e\n\n**VKAPI** - библиотека для упрощённой работы с API ВКонтакте на PHP 7.4\n\n## Установка\n\n```\ncomposer require krypt0nn/vkapi\n```\n\nДля ручной установки необходимо распаковать библиотеку в удобное вам место и подключить файл ``VKAPI.php``\n\n## Примеры работы\n\n### Авторизация\n\n```php\n\u003c?php\n\nuse VKAPI\\VK;\n\n$API = new VK ('логин', 'пароль');\n\nprint_r ($API-\u003eusers-\u003eget ([\n    'user_ids' =\u003e 1\n]));\n\nprint_r ($API-\u003eusers-\u003eget ()); // Сам себя~\n```\n\n### Авторизация с поддержкой 2ФА\n\n```php\n\u003c?php\n\nuse VKAPI\\VK;\n\n$API = new VK ('логин', 'пароль', function ()\n{\n    // Читаем и возвращаем 2ФА код, который ввёл пользователь (в консоль)\n    return readline ('2fa code: ');\n});\n```\n\n### Авторизация с токеном доступа\n\n```php\n\u003c?php\n\nuse VKAPI\\VK;\n\n$API = new VK ('токен доступа');\n```\n\n### LongPoll API\n\n```php\n\u003c?php\n\nnamespace VKAPI;\n\n$API      = new VK ('токен доступа');\n$longpoll = new LongPoll ($API);\n\n# Бесконечно принимаем запросы от LongPoll API\nwhile (true)\n    if (sizeof ($updates = $longpoll-\u003egetUpdates ()) \u003e 0)\n        print_r ($updates);\n```\n\n*Поддерживается работа как с пользователями, так и с сообществами**\n\n### Чат бот\n\n```php\n\u003c?php\n\nnamespace VKAPI;\n\n$API      = new VK ('токен доступа');\n$longpoll = new LongPoll ($API);\n\n# Создаём объект реализации чат бота\n$bot = new Bot ($longpoll, function ($message)\n{\n    echo $message['from_id'] .' | '. $message['text'] . PHP_EOL;\n});\n\n# И в бесконечном цикле обновляем его\nwhile (true)\n    $bot-\u003eupdate ();\n```\n\n*Поддерживается работа как с пользователями, так и с сообществами**\n\n## Функционал сообществ\n\n### Callback API\n\n```php\n\u003c?php\n\nnamespace VKAPI;\n\n$vk = new VK ('токен сообщества');\n$callback = new Callback ($vk, 'строка подтверждения');\n\n# Задаём обработчик события на запрос типа \"message_new\"\n$callback-\u003eon ('message_new', function ($params) use ($vk)\n{\n    $vk-\u003emessages-\u003esend ([\n        'message' =\u003e 'Привет! Мне показалось что ты сказал \"'. $params['message']['text'] .'\"',\n        'peer_id' =\u003e $params['message']['from_id']\n    ]);\n});\n\n# Выполняем обработку запроса к callback API\n$callback-\u003eprocess ();\n```\n\n### Клавиатура\n\n```php\n\u003c?php\n\nnamespace VKAPI;\n\nuse VKAPI\\Buttons\\Text;\n\n# true - сделать ли клавиатуру встроенной в сообщение (inline клавиатура)\n$keyboard = new Keyboard (new VK ('токен сообщества'), true);\n\n# 0 - первый ряд\n$keyboard-\u003ebuttons-\u003eadd (0, new Text ('Hello, World!'));\n\n# 1 - второй ряд\n$keyboard-\u003ebuttons-\u003eadd (1, (new Text ('Yes'))-\u003esetColor ('positive'));\n$keyboard-\u003ebuttons-\u003eadd (1, (new Text ('No'))-\u003esetColor ('negative'));\n\n// []   - дополнительные параметры message.send\n// true - клавиатура будет отображена всего 1 раз\n$keyboard-\u003esend ('peer id', 'Тесто', [], true);\n```\n\n### Карусель\n\n```php\n\u003c?php\n\nnamespace VKAPI;\n\nuse VKAPI\\Carousel\\Text;\n\n$carousel = new Carousel (new VK ('токен сообщества'));\n\n# Создаём элемент для карусели\n$element = new Text ('Привет, Мир!', 'Тестовый элемент карусели');\n$element-\u003ebuttons-\u003eadd (new Buttons\\Text ('Я просто кнопка~~'));\n\n# Добавляем элемент в карусель\n$caruosel-\u003eadd ($element);\n\n# Отправка карусели. Указать peer id получателя и сообщение для отправки\n$carousel-\u003esend ('peer id', 'Привет! Я тут карусель сделал, не посмотришь?');\n```\n\nДля подробной документации рекомендуется обратиться к комментариям в коде\n\nАвтор: [Подвирный Никита](https://vk.com/technomindlp). Специально для [Enfesto Studio Group](https://vk.com/hphp_convertation)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrypt0nn%2Fvkapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrypt0nn%2Fvkapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrypt0nn%2Fvkapi/lists"}