@ainur2015
Программист PHP, КиберСпортсмен

Vk метод опубликовать запись в страницу VK группе?

Проблема такова юзаю библиотеку simplevk-master для VK и библиотеку telelibonphp-master для TG.
Стараюсь сделать бота который репостить записи с канала TG на группу VK на стенку.
wall.post нашёл метод но он от имени пользователя а есть ли способ юзать методику от сообщества?
<?php


require_once 'telelibonphp-master/tgLib.php'; //Подключаем библиотеку TG
require_once "simplevk-master/autoload.php"; //Подключаем библиотеку VK

use DigitalStar\vk_api\vk_api;

$data = json_decode(file_get_contents('php://input'),true);

$platform = '';
$vk1 = vk_api::create('VK', '5.131')->setConfirm('5e1fbbaf');
    $vk = new tgBot('TG');
    $message = $data['callback_query']['message']['text'] ?? $data['message']['text'] ?? null;
    $peer_id = $data['callback_query']['message']['chat']['id'] ?? $data['message']['chat']['id'] ?? null;
    $user_id = $data['callback_query']['message']['from']['id'] ?? $data['message']['from']['id'] ?? null;
    $payload = $data['callback_query']['data'];
    $platform = 'tg';




$command = explode(' ', mb_strtolower($message));

// Обработка команд
if ($command[0] == 'время') {

    $date = date('d.m.y H:i:s');
    $vk->sendMessage($peer_id, "Серверное время: $date");
    exit;
}

if ($command[0] == 'инфо') {

    $vk->sendMessage($peer_id, "Я бот и я умею работать в ВК и Телеграмм");
    exit;
}

if ($command[0] == 'кнопка') {


    if ($platform == 'vk'){ // Если событие из вк
        // Кнопка ВК
        $started = $vk->buttonText('Нажми меня', 'green', ['command' => 'play']);
        $kbd = [[$started]];
    } else { // Иначе вставляем кнопку для телеги
        // Кнопка TG
        $kbd = [
            'inline_keyboard' => [
                [['text' => 'Нажми меня', 'callback_data' => 'play']]
            ]
        ];
    }


    $vk->sendButton($peer_id, "Держи кнопку, но знай, она отличается от выбраного месенджера", $kbd);
    exit;
}


if ($payload == 'play'){

    $vk->sendMessage($peer_id, "Ты нажал кнопку и я выполяю на это какое-то событие...");
    exit;
}


  
	


//$vk1->request('messages.send', ['message' => 'Привет', 'user_id' => 384904677]);
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
@DDV23
Биокибернетик
Не совсем понятно, что именно надо. Публиковать от имени сообщества или сообщество должно публиковать пост? Метод понятен https://api.vk.com/method/wall.post
Я Вам на Python, можете на любой язык переделать, это несложно
1. Добавляем в инициализации params - "from_group": 1
# Инициализация params
        params = {
            "access_token": ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ,
            "v": "5.131",
            "owner_id": "-идентификатор группы",
            "message": что-то там,
            "from_group": 1,  # пост от имени группы, если поставить 0 то будет от имени пользователя.
        }

2. Если вы хотите юзать wall.post с токеном сообщества, то метод работать не будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pantsarny
Да , способ есть
Прочитать документацию по методу и обнаружить параметр from_group
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы