Перейти к контенту

Рекомендуемые сообщения

Нужен скрипт-бот который будет постить тему с мессаджем напрямую в базу.

 

Подскажите пожалуйста был ли такой мод для v.2.2.х

Может для каких других версий он есть? Ткните носом пожалуйста!

 

И если не было, подскажите кроме таблиц "ibf_forums,ibf_topics,ibf_posts" нужная мне информация куда то ещё пишется, может в статистику какую... я не нашёл? В старых версиях помню была таблица стат... в 2.2.2 нету.

 

Спасибо! :D

Ссылка на комментарий
Поделиться на других сайтах

См. файл ./sources/api/api_topics_and_posts.php ;)

 

Соответственно на хостинге форума нужно создать файл в который будет передаваться запрос, он будет подключать все необходимые файлы + этот и постить :D

Изменено пользователем Sannis
Ссылка на комментарий
Поделиться на других сайтах

Разобрался:

 

Подключение класса

<?php
require_once "sources/api/api_topics_and_posts.php";

$api = new api_topics_and_posts();
$api->ipsclass =& $this->ipsclass;

$api->api_init();

//$api->set_author_by_id('2',0);
$api->set_author_by_name('6oT',0); //сделал для того что бы можно было постить от гуеста (0), иначе для существующего пользователя 1, для этого нужна модификация api_topics_and_posts.php
$api->set_post_content("<b>Hello World!</b> :)");
$api->set_forum_id(2);
$api->set_topic_title('Hello World');
$api->set_topic_description('I am the description');
$api->set_topic_state('open');
$api->create_new_topic();
?>

Если ругается на то что не может найти путь к init.php, в api_core.php прописываем в 101-ой строке нужный путь. Я указал просто var $path_to_ipb = '';

 

Для того что бы можно было постить от гостя в api_topics_and_posts.php переписал фнкцию set_author_by_name

function set_author_by_name( $user_name, $user_id )
{
	if ($user_id!=0) {
		$this->author = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
																		  'from'   => 'members',
																		  'where'  => "members_l_username = '".$this->ipsclass->DB->add_slashes(strtolower($user_name))."'",
																		  'limit'  => array( 0, 1 ) ) );

		if ( ! $this->author['id'] )
		{
			$this->api_error[] = 'no_user_found';
			$this->author	  = array();
			return FALSE;
		}
	}
	else {
		$this->author['id'] = 0;
		$this->author['members_display_name'] = $user_name;
	}

	return TRUE;
}

 

Всем спасибо! :D

Ссылка на комментарий
Поделиться на других сайтах

Ещё кое что добавил, разберётесь

<?php
require_once "sources/api/api_topics_and_posts.php";

$api = new api_topics_and_posts();
$api->ipsclass =& $this->ipsclass;

$api->api_init();

//$api->set_author_by_id('2',0);
$api->set_author_by_name('6oT',0);
$api->set_post_content("<b>Hello World!</b> :)");
$api->post_settings['ip_address'] = '127.0.0.1'; //IP если нужен
$api->post_settings['show_emoticons'] = 0; //Смайлы лучше отключить так как иначе по умолчанию будут ерроры вместо них, из-за того что отправляем напрямую в базу
$api->post_settings['post_date'] = 1178802916; //Если нужно указать не текущую дату
$api->topic_settings['topic_date'] = 1178802916; //Если нужно указать не текущую дату
$api->set_forum_id(2);
$api->set_topic_title('zzzzzzzzzzzzzzHello World');
$api->set_topic_description('I am the description');
$api->set_topic_state('open');
$api->create_new_topic();

//Постим мессагу гдк $api->topic_id есть id созданной темы
$api->set_author_by_name('matt', 0);
$api->set_post_content("<b>Hello World!</b> :D");
$api->set_topic_id($api->topic_id);

$api->create_new_reply();

?>

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.