ByLex
Новичок
Как записать ответы на вопросы в файл?
Это плагин icq бота SteelBot. Помогите пожалуйста. Что нужно дописать чтобы все ответы на вопросы записывались файл. Например: Вопрос: Сколько вам лет? Ответ: 1. 12-15. В файл должно записаться Сколько вам лет? 1. 12-15 .
Вот ссылка на самого бота
Это плагин icq бота SteelBot. Помогите пожалуйста. Что нужно дописать чтобы все ответы на вопросы записывались файл. Например: Вопрос: Сколько вам лет? Ответ: 1. 12-15. В файл должно записаться Сколько вам лет? 1. 12-15 .
Вот ссылка на самого бота
PHP:
<?php class plg_test { static $curq = array(), // текущий вопрос (uin => question_id) $q = array(array("Сколько вам лет?", "12-15", "15-18", "18", "num"), // вопросы array (Вопрос, варианты ответа, тип) array("Место учебы", "Школа", "Вуз", "num"), array("Дата рождения в формате чч\мм\гггг", "date") ); function get_next() { $uin = SteelBot::GetSender(); $text = SteelBot::GetMsgText(); $curr = intval(self::$curq[$uin]); if ($text == 'help') return; if ($text == 'тест') { SteelBot::msg(self::GetText($curr)); SteelBot::DropMsg(); return; } switch (self::$q[$curr][count(self::$q[$curr])-1]) { case 'num': // ответом является номер варианта ответа $answ = intval($text); if ($answ > (count(self::$q[$curr])-2) || $answ < 1) { SteelBot::msg(self::GetText($curr)); SteelBot::DropMsg(); return; } /* тут мы записываем данные в файл или еще че нить делаем */ SteelBot::DropMsg(); break; case 'date': if (!preg_match_all("/(\d{2})\\\(\d{2})\\\(\d{4})/iU", $text, $out)) { SteelBot::msg(self::GetText($curr)); SteelBot::DropMsg(); return; } $d = $out[1][0]; // число $m = $out[1][1]; // месяц $y = $out[1][2]; // год /* тут мы записываем данные в файл или еще че нить делаем */ SteelBot::DropMsg(); break; default: SteelBot::DropMsg(); return; } self::$curq[$uin]++; $curr++; if ($curr == count(self::$q)) SteelBot::Msg("Вы прошли тест!"); else SteelBot::Msg(self::GetText($curr)); return; } function GetText($num) { $text = self::$q[$num][0]; $q = self::$q[$num]; switch ($q[count($q)-1]) { case 'num': $text .= "\nВыберите вариант ответа:"; for ($i = 1; $i < (count($q)-1); $i++) $text .= "\n$i. " . $q[$i]; return $text; case 'date': $text .= "\nВведите ответ в формате чч\мм\гггг"; return $text; default: return ""; } } } SteelBot::RegisterEventHandler(EVENT_MSG_RECIEVED, array ('plg_test', 'get_next')); SteelBot::RegisterCmd("тест",array("plg_test", "get_next"), 1,"тест - пройти тест");