NightMareLunacy 0 09/24/11 15:24 Здравствуйте, решил поставить форум IPB 3.x.x. т.к я с ним работал, и нормально его знаю. Но столкнулся с проблемой. Мне нужно реализовать бота на форум хотел в нем реализовать, что как только на игровом сервере назначили бан игроку. ТО в соответствующем разделе назовем "Баны", бот отписывался. Ник:Причина:Дата окончания бана: Так же что бы бот мог из темы где игроки отписывались на добавление в список исключения (для доступа на игровой сервер) что бы бот автоматом его добавлял.Где найти модуль как настроить, или его только под заказ? Подскажите пожалуйста. Поделиться сообщением Ссылка на сообщение
Ritsuka 540 09/24/11 16:30 Используйте classPost. Содержит методы addReply и addTopic. Как-то так:<?php define('IPS_ENFORCE_ACCESS', true); require_once( 'initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/sources/classes/post/classPost.php', 'classPost', 'forums' ); $post = new $classToLoad( $registry ); $post->setForumID( 1 ); $post->setAuthor( 1 ); $post->setPostContent( "[i]Hello[/i] [b]there![/b]" ); $post->setTopicTitle('Hi!'); $post->setPublishedRedirectSkip( true ); if($post->addTopic()) { echo 'Тема успешно создана'; } else { echo 'Ошибка: '.$post->_postErrors; } ?> 2 Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/26/14 18:11 Ответ в теме [addReply] (3.3x, 3.4x) Topic Posting Library (classPost.php) setForumID - ид форума где находится темаsetTopicID - ид темыsetAuthor - ид автора define('IPS_ENFORCE_ACCESS', true); require_once( 'initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/sources/classes/post/classPost.php', 'classPost', 'forums' ); $post = new $classToLoad( $registry ); $post->setForumID(2); $post->setTopicID(34); $post->setAuthor(1); $post->setPublished(true); $post->setPostContent('My api post'); if($post->addReply()) { echo 'Сообщение успешно добавлено'; } else { echo 'Ошибка: '.$post->_postErrors; } Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/26/14 18:13 Ответ в теме [addReply] (для более старых версии 3.1x, 3.2x) define('IPS_ENFORCE_ACCESS', true); require_once( 'initdata.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' ); require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' ); $registry = ipsRegistry::instance(); $registry->init(); $classToLoad = IPSLib::loadLibrary( IPSLib::getAppDir( 'forums' ) . '/sources/classes/post/classPost.php', 'classPost', 'forums' ); $post = new $classToLoad( $registry ); $post->setForumID(2); $post->setForumData($registry->class_forums->getForumById($post->getForumID())); $post->setTopicID(34); $post->setTopicData($registry->topics->getTopicById($post->getTopicID())); $post->setAuthor(1); $post->setPublished(true); $post->setPostContent('My api post'); if($post->addReply()) { echo 'Сообщение успешно добавлено'; } else { echo 'Ошибка: '.$post->_postErrors; } Поделиться сообщением Ссылка на сообщение
Trotor 27 03/28/14 20:46 @siv1987,Извиняюсь, а что это за код, для чего он? Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/28/14 20:48 @Haktar, http://ipbskins.ru/forum/topic12833.html#entry84782 Поделиться сообщением Ссылка на сообщение
Trotor 27 10/31/14 00:41 Ответ в теме [addReply] (для более старых версии 3.1x, 3.2x)Я так понял что нужно создать файл с таким текстом? А куда его разместить? Поделиться сообщением Ссылка на сообщение
newbie 1723 10/31/14 05:43 Я так понял что нужно создать файл с таким текстом?Да. Куда хотите. Создали файл reply.php с указанным содержимым, поместили его в корень форума. Каждый раз при обращении к forum/reply.php будет публиковаться ответ. 1 Поделиться сообщением Ссылка на сообщение