Вы можете сделать так, чтобы уведомления о всех новых сообщениях на вашем форуме приходили в MyChat.

  1. Настройка соединения с сервером MyChat
  2. Редактирование function_posting.php
  3. Указать получателей уведомлений
  4. Отладка, или что делать, если сообщения не отправляются?

 

1. Настройка соединения с сервером MyChat

Возьмите шаблон файла MyChatSendMessage.php (C:\Program Files\MyChat Server\doc\IntegrationAPI\phpBB3\) и задайте в нём параметры подключения к вашему серверу MyChat:

 

Настройки подключения к серверу MyChat

 

Перейдите в директорию вашего форума и найдите папку "includes\". Скопируйте в папку изменённый файл MyChatSendMessage.php
 

2. Редактирование function_posting.php

Найдите файл function_posting.php в папке "includes\" вашего форума. Сделайте резервную копию, перед тем, как изменять его!

 

Найдите в коде файла function_posting.php такую строчку:


function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $update_message = true, $update_search_index = true

)

 
В конце функции, после строк:


$url = (!$params) ? "{$phpbb_root_path}viewforum.$phpEx" : "{$phpbb_root_path}viewtopic.$phpEx";
$url = append_sid($url, 'f=' . $data['forum_id'] . $params) . $add_anchor;


нужно добавить такой код:


if ($post_mode == 'reply' || $post_mode == 'post') {
  include ('MyChatSendMessage.php');
  MyChatSendMessage::Send($data['message'], $user->data['username'], $subject, $current_time,
  generate_board_url(), $data['forum_id'], $data['topic_id'], $data['post_id'], $user->data['user_id']);
}


После всех изменений код function_posting.php должен выглядеть так:
 

Изменнный код файла function_posting.php для интеграции phpbb и MyChat

 

3. Указать получателей уведомлений

В администрировании сервера, раздел "Инструменты", "Интеграция", необходимо включить инструмент "phpBB 3":

 

Интеграция мессенджера MyChat и форума phpBB

 

Здесь же настраивается, кому нужно отправлять уведомления о новых сообщениях на форуме.

 

Можно указать отдельных людей, группы пользователей и конференции.

 

4. Отладка, или что делать, если сообщения не отправляются?

Если по каким-то причинам сообщения в чат не уходят, нужно убедиться, что со стороны форума всё настроено правильно.

 

Есть режим отладки. Для него нужно взять файл MyChatSendMessage_test.php (C:\Program Files\MyChat Server\doc\IntegrationAPI\phpBB3\debug\) и записать в папку форума "includes\".

В файле function_posting.php замените строку include ('MyChatSendMessage.php'); на include ('MyChatSendMessage_test.php');

 

Все возникшие ошибки теперь можно будет увидеть в файле MyChat_errors_log.txt в корневой папке форума.

 

Важно! Не забудьте убрать отладку после того, как всё настроите. Режим отладки работает в синхронном режиме и "тормозит" выполнение скриптов форума.

 

Важно! В версии phpBB 3.2.2 и новее переменную $data нужно заменить на $data_ary. Подробнее о проблеме.