Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
NightMareLunacy

Бот на IPB 3.X.X

Recommended Posts

Здравствуйте, решил поставить форум IPB 3.x.x. т.к я с ним работал, и нормально его знаю.

 

Но столкнулся с проблемой. Мне нужно реализовать бота на форум хотел в нем реализовать, что как только на игровом сервере назначили бан игроку. ТО в соответствующем разделе назовем "Баны", бот отписывался.

 

Ник:

Причина:

Дата окончания бана:

 

Так же что бы бот мог из темы где игроки отписывались на добавление в список исключения (для доступа на игровой сервер) что бы бот автоматом его добавлял.

Где найти модуль как настроить, или его только под заказ?

 

Подскажите пожалуйста.

Share this post


Link to post
Share on other sites

Используйте 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;
}

?>

  • Upvote 2

Share this post


Link to post
Share on other sites

Ответ в теме [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;
}

Share this post


Link to post
Share on other sites

Ответ в теме [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;
}

Share this post


Link to post
Share on other sites

@siv1987,

Извиняюсь, а что это за код, для чего он?

Share this post


Link to post
Share on other sites

Ответ в теме [addReply] (для более старых версии 3.1x, 3.2x)

Я так понял что нужно создать файл с таким текстом? А куда его разместить?

Share this post


Link to post
Share on other sites
Я так понял что нужно создать файл с таким текстом?
Да. Куда хотите. Создали файл reply.php с указанным содержимым, поместили его в корень форума. Каждый раз при обращении к forum/reply.php будет публиковаться ответ.
  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...