Вступление

Друзья, приветствую!
Как-то я рассказывал вам про сервис моментальной чистки комментов AFP.Monster, главной особенностью которого является возможность обрабатывать комментарии МОМЕНТАЛЬНО, как только их оставляют у вас под постами. Теперь же я покажу вам, как всё это работает под капотом, а заодно дам вам бесплатный аналог AFP.Monster.

DISCLAIMER

  • это технически сложная статья, есть много мелкой возни, в которой желательно разбираться. И хотя я постарался донести всё максимально разжёвано — возможно, у вас ничего не получится, имейте в виду.
  • проделывайте все нижеописанные операции ТОЛЬКО если вам нужен какой-то кастом, или у вас мало денег, или вы просто любопытны. Во всех прочих случаях следует плюнуть на всё это и использовать AFP.Monster. Там всё сделано для людей, и можно сосредоточиться на воронке, а не на техничке.
  • прила, которую мы с вами настроим — будет работать только для одного акка фб. Новый акк? Вам придётся сделать всё с самого начала. Да, вы можете попробовать это автоматизировать, вопросов нет. Но в целом рекомендую использовать этот метод на акках-хранилищах ФПшек. Таким макаром вы быстренько сможете получать токены от фпшек и подключать их в систему.

А теперь поехали!

Что нам понадобится?

Любой домен с хостингом, куда можно закинуть вот эти PHP-файлы, с версией PHP от 8.2 и выше. С хостинга должен быть доступ к Facebook! Т.е. Beget на этот раз не подойдёт, пользуйтесь, например, FriendHosting. Также нужен SSL-сертификат, т.е. чтобы работал https.

WebHooks

Итак, основной фишкой, при помощи которой возможна моментальная очистка — это вебхуки, т.е. по сути — уведомления о произошедших событиях. Фэбэ может любезно уведомить наш скрипт о том, что на объяве появился новый коммент. Ну збс же?

Давайте создадим приложение, которое будет использовать эту фичу. Как создавать прилу описано вот в этой статье в разделе «Регистрация приложения«, а я начну с того шага, когда всё уже зарегано и создано.

Для того, чтобы наше приложение получало реальные данные из фб, нужно перевести его в режим Live.

Появится окно с предупреждением, что прежде чем включить Live режим, вам нужно указать урл политики приватности. Я предоставляю её вместе со скриптом в файле policy.html. Если, вдруг, перестанет прокатывать — сгенерируйте любую другую политику.

Я указываю эту политику также в поле Terms of Service.

Теперь нам нужно получить токен, чтобы иметь возможность добавлять в софт фпшки, на которых мы хотим обрабатывать комментарии. Для этого переходим в верхнем меню Tools — Graph Api Explorer.

Выбираем в выпадающем меню Meta App нашу прилу. В меню User or Page — ставим User или Get Token. А в нижнем меню Permissions выбираем все разрешения, начинающиеся с pages_manage, pages_read и pages_show_list.

После этого жмём большую синюю кнопку Generate Access Token.

Появится отдельное окно где мы выбраем пункт с доступом ко всем текущим и будущим страницам.

Проходим этот квест до конца и возвращаемся в наш Graph Explorer.

Итак, у нас есть токен! Но у него оооочень небольшое время жизни, нам надо его продлить так, чтобы он работал несколько месяцев и не парил нам мозг! Для продления копируем токен, после чего идём в Tools — Access Token Debugger и пихаем туда токен.

Видим, что у токена есть все нужные права, а также то, что токен сдохнет через час. Поэтому скроллим до самого низа и тыкаем на кнопку Extend Access Token.

У вас попросят пароль и выдадут новый токен со сроком жизни в 2 месяца.

Сохраняем его себе (его будем добавлять в наш софт).

ИИИИИ, на этом с настройкой внутри фб ВСЁ, фуххх!

Настраиваем саму систему

Перво-наперво нужно открыть для редактирования файл settings.php и поменять там:

  • админский пароль с qwerty на что-то более подходящее
  • имя БД с comments.db на что-то более длинное и менее очевидно. В этой базе будут храниться токены от фпшек, поэтому нежелательно, чтобы кто-то имел возможность её выкачать. Символов 20-25 в названии будет норм.
  • желательно включить режим отладки, т.е. $debug = true; Тогда при ошибках или успешных действиях система будет показывать дополнительные сообщения. После того, как всё настроено, этот режим можно выключить: $debug = false;

Далее заходим на index.php и логинимся в админку, используя предварительно установленный пароль. Видим следующий интерфейс:

Сверху кнопка просмотра логов и выход из системы, слева меню с Приложениями, Страницами, Очисткой и Автоответом.

Сначала нужно добавить то приложение, что мы создали в Developers Facebook. Для этого понадобится токен от ПРИЛОЖЕНИЯ. Получить его проще всего в том же Graph API Explorer, выбрав нашу прилу и поставив App Token, как на скрине.

Получили? Отлично, добавляем в софт кнопкой Add App and Subscribe.

Далее переходим на страницу Pages и вставляем туда уже наш User токен, который мы создавали и продлевали в предыдущих шагах. После чего жмём Fetch.

Выделяем и добавляем нужные вам страницы. Переходим в пункт Cleaner и включаем обработку комментариев. Там же можно выбрать режим работы: удаление или скрытие, плюс есть возможность удалить ВЕСЬ контент страницы, то есть все посты и фото. Хорошо работает для старых страниц «с историей«, которые требуется переделать под новые офферы.

В пункте Replies можно написать через запятую список слов, в ответ на которые от лица ФП будет опубликован автоответ с нужным текстом и, при необходимости, картинкой.

Пользуйтесь на здоровье, а на сегодня у меня для вас всё, лейте в плюс, господа!

P.S. И ещё раз: настоятельно рекомендую вам, прежде чем вы полезете ковыряться со скриптом, ЧЕКНИТЕ СЕРВИС AFP.Monster, там всё это УЖЕ есть, и не нужно ничего настраивать.

P.P.S. Если у вас что-то не получается — смотрите ЛОГИ, в папке logs либо непосредственно в интерфейсе, нажав кнопку LogViewer в правом верхнем углу. И уже с логами можете попробовать постучаться ко мне в ЛС.