Иконка ресурса

Постинг в группу ВК 0.3

Нет прав для скачивания
Совместимость
проверялся на совместимость
Изменения в БД
не требуются
Автор
?
Общественное достояние
нет
При добавлении нового релиза на трекер, автоматически добавляется запись в группу ВК.
Screenshot_1.png Screenshot_2.png
Инструкция по установке
1. Создаёте новое Standalone приложение.
2. В настройках группы приложения указываете вашу группу трекера.
3. Получаете access_token. Сделать это можно перейдя по ссылке:
Код:
https://oauth.vk.com/authorize?client_id=ID_приложения_которого_вы_создали&scope=notify,friends,photos,offline,wall&redirect_uri=blank.html&display=popup&response_type=token
5. Вы получите ссылку вида:
Код:
https://oauth.vk.com/blank.html#access_token=ACCESS_TOKEN&expires_in=0&user_id=user_id
6. Копируете access_token и вставляете в config.php:
define('TOKEN_VK', 'ПОЛУЧЕННЫЙ_ТОКЕН');
7. В том же config.php, чуть ниже, пропишите id группы, выбранной в настройках приложения.
--выполнить запрос
Код:
INSERT INTO `bb_cron` VALUES ('', 1, 'Очистка устаревших изображений VK', 'clean_vk_images.php', 'weekly', '1', '05:00:00', 30, '0000-00-00 00:00:00', '0000-00-00 00:00:00', NULL, 0, '', 0, 0, 0);
--открыть config.php и найти:
PHP:
define('IMAGES_DIR',    BB_PATH .'/styles/images/'           );
--после вставить:
PHP:
define('VKIMAGES_DIR',  BB_PATH .'/internal_data/vk/'        );
--найти:
PHP:
// Local config
--перед вставить:
PHP:
//VK posting
define('TOKEN_VK', 'TOKEN');
define('GROUP_ID', 'ID_ГРУППЫ');
--открыть posting.php и найти:
PHP:
if ($mode == 'newtopic' || $mode == 'reply')
{
    set_tracks(COOKIE_TOPIC, $tracking_topics, $topic_id);
}
--после вставить:
PHP:
if($mode == 'newtopic' && defined('TORRENT_ATTACH_ID') && $bb_cfg['bt_newtopic_auto_reg'] && !$error_msg)
        {
            require CLASS_DIR.'vk.php';
            require CLASS_DIR.'post.php';

            $token = TOKEN_VK;
            $user_id = null;
            $group_id = GROUP_ID;

            $rows = DB()->fetch_row("SELECT post_text FROM ". BB_POSTS_TEXT ." WHERE post_id = $post_id");

            preg_match_all('/\[poster\](.*?)\[\/poster\]/i', $rows['post_text'], $posters1, PREG_SET_ORDER);
            preg_match_all('/\[img=right\](.*?)\[\/img\]/i', $rows['post_text'], $posters2, PREG_SET_ORDER);
            preg_match_all('/\[img=left\](.*?)\[\/img\]/i', $rows['post_text'], $posters3, PREG_SET_ORDER);
            preg_match_all('/\[img\](.*?)\[\/img\]/i', $rows['post_text'], $posters4, PREG_SET_ORDER);

            $urls = '';

            if (@$posters1[0][1]) $urls = $posters1[0][1];
            elseif (@$posters2[0][1]) $urls = $posters2[0][1];
            elseif (@$posters3[0][1]) $urls = $posters3[0][1];
            elseif (@$posters4[0][1]) $urls = $posters4[0][1];
            else $urls = 'http://адрес_трекера/путь_до_no_poster.png';

            $text = 'Новый релиз! '.get_topic_title($topic_id).' Ссылка: '.make_url(TOPIC_URL . $topic_id);
            $image = $urls;

            try
            {
                $vk = \vkApi\vk::create($token);
                $post = new \vkApi\post($vk, $user_id, $group_id);
                $post->post($text, $image);
                //echo 'Success!';
            }
            catch(Exception $e)
            {
                echo 'Error: <b>' . $e->getMessage() . '</b><br />';
                echo 'in file "' . $e->getFile() . '" on line ' . $e->getLine();
            }
        }
Это каркас для постройки собственной системы постинга в ВК, используйте как фундамент)
Источник:

Please Login or Register to view hidden text.

Автор
dredd
Скачивания
53
Первый выпуск
Обновление
Оценка
5.00 звёзд 3 оценок

Другие ресурсы пользователя dredd

Последние обновления

  1. Обновление 0.3

    Добавлена крон задача, для очистки устаревших изображений.
  2. Обновление 0.2

    Пофиксил нотис curl Не должен конфликтовать с лентой новинок Добавил скриншоты

Последние рецензии

Норм! Хорошая идея!
Нужный мод. Спасибо за мод и крон задачу :)
Полезная шкуковина .. Спасибо !!!
Сверху