Скрипт эмуляции разговора на форумах phpBB.
Если форум только, что создан, то основной задачей для такого форума является увелечение контента. Пользователи не придут
на пустой форум и не будут там общаться, поэтому сначалf вам самим надо будет общаться на форуме заходя на него
под разными пользователями.
Этот скрипт существенно облегчает эту задачу. Всё что вам придётся сделать это заготовить диалоги и запустить скрипт, он сам
за считаные секунды запостит эти диалоги на форум.
Для начала вам надо будет не забыть создать пользователей на вашем форуме.
Потом записать их в
users.txt файл в формате:
логин
пароль
логин1
пароль1
логин2
пароль2 и т.д.
(в первой строке логин во второй пароль, в третьей логин - в четвёртой пароль и т.д.).
Затем создать файл
remarks.txt в следующем формате:
1 строка url форума -
например: http://www.site.com/forum
2 строка имя Форума -
например: Ремонт
3 строка название новой темы -
например: Как отремонтировать кран?
далее в каждой строке содержится текст который должен добавить пользователь -
например:
Сломался кран? что делать?
Купи новый!
и т.д.
Если реплик в файле будет больше, чем пользователей в файле
users.txt,
то скрипт берёт пользователей по кругу сначала, таким образом можно написать
большой диалог для двух пользователей.
После положить эти файлы в папку (в скрипте это папка InDatas) и затем использовать в скрипте.
Ниже представлен сам скрипт с подробными комментариями:
<?php
// Данный код необходим для запуска Human Emulatora
require("../../Templates/xedant_human_emulator.php");
// функция логина пользователя
function login($user,$password,$beforeexit)
{
global $anchor,$browser,$input,$button;
// выходим если надо
if($beforeexit==true)
{
$anchor->click_by_number(8);
$browser->wait(1);
}
// заходим на сраницу логина
$anchor->click_by_inner_text("Вход","true");
$browser->wait(1);
// логинемся
$input->set_value_by_number(0,$user);
$input->set_value_by_number(1,$password);
$button->click_by_number(0);
$browser->wait(1);
}
// получаем пользователей из файла в маиссив
// при этом в файле первая строка это логин вторая - пароль и т.д.
// опять логин далле пароль...
$users=file("../../InDatas/forum_users.txt");
// из этого файла мы загружаем
// 1 строка url форума - http://www.site.com/forum
// 2 строка имя Форума - Ремонт
// 3 строка название новой темы - Как отремонтировать кран?
// далее в каждой строке содержится текст который должен добавить пользователь -
// Сломался кран? что делать?
// Купи новый!
// и т.д.
$remarks=file("../../InDatas/forum.txt");
// переходим на полученный из файла форум
$browser->navigate($remarks[0]);
$browser->wait(1);
// переменная для получения из массива $users пользователей
$a=2;
// добавим сообщения
for($i=3;$i<count($remarks);$i++)
{
// начинаем сразу с сообщений
if ($i==3)// это первый пользователь он создаёт новую тему и добавляет своё сообщение
{
// логинемся
login(trim($users[0]),trim($users[1]),false);
//echo $remarks[0];
// переходим на нужный нам топик
$anchor->click_by_inner_text(trim($remarks[1]),"true");
$browser->wait(1);
// создать новую тему
$anchor->click_by_number(10);
$browser->wait(1);
// вводим имя темы и текст сообщения
$input->set_value_by_number(0,trim($remarks[2]));
$textarea->set_value_by_number(0,trim($remarks[3]));
// сабмитим
$button->click_by_number(11);
$browser->wait(1);
}
else
{
// логиним следущего юзера и выходим предыдущим
login($users[$a],$users[$a+1],true);
$a=$a+2;
// если сообщений больше чем юзеров начали с начала
if($a>=count($users))
$a=0;
// переходим в нужный форум
$anchor->click_by_inner_text(trim($remarks[1]),"false");
$browser->wait(1);
// в созданную первым юзером тему
$anchor->click_by_inner_text(trim($remarks[2]),"false");
$browser->wait(1);
// жмём на ответить
$anchor->click_by_number(11);
$browser->wait(1);
// заполняем ответ и сабмитим
$textarea->set_value_by_number(0,trim($remarks[$i]));
$button->click_by_inner_text("Отправить");
$browser->wait(1);
}
// сделаем небольшую паузу
sleep(2);
}
// Останавливаем работу эмулятора
$app->quit();
?>
Посмотреть другие скрипты