Просмотр полной версии : помогите с php ботом
есть скрипт php icq бота, хочу добавить функцию отправки sms через него
sms надо отправлять через сайт http://sms.smssender.org
и надо сделать автозаполнения форм на сайте, чтобы можно было боту написать:
!sms +79201031775 Привет кроссавчег!
и он прислал sms на номер +79201031775 с текстом "Привет кроссавчег!"
бот на webicqpro classe
кусок бота
case '!stop': if($msg['from'] == ADMINUIN) { $icq->sendMessage(ADMIN, " ICQ BOT stoped"); $icq->disconnect(); exit();
как то таг
Чет этот сервис не робит никуя!
сервис действительно неробит =\\
а вов торых - в чём сопсна проблемма? отурываеш сокет - посылаш запос - выводиш результат
MegaDeth
12.11.2007, 21:51
Ridikh, что за бот то?
вообще смысл создания темы? что тебе можно посоветовать если ты ни кусок кода ни код полностью не выложил.
Как сделать - добавить в список комманд эту комманду и определить для нее соотв. функцию.
есть сервис чтото наподобие [номер_телефорна]@smsmsg.ru
отправляеш как на мыло и приходит смс. актуально для мегафона, для других ОпСосов другие гейты какието...
можно просто на пхп mail()...
отправил себе смс все ок
на мегафоне работает
на мтс работает
вводить надо в междунар. формате.
зы россия +7
MegaDeth
12.11.2007, 22:49
Ridikh, пиши запрос, окрывай сокет и пихай запрос когда придет комманда !sms. Конструкцию case ты думаю знаешь как юзать. незнаешь - гугли. про запрос - учи протокол http. функции для работы с сокетами, здесь необходимые - Fscockopen(), fputs(),fclose(). Rread(), если хочешь получить подтверждение от сервера (анализируй ответы от него)
да, и параметры идущие с коммандой получай как по примеру (разделяешь по " ")
ps запрос можеш перехватить прогой InetCrack...
Открываеш сокет, и отправляеш ему:
POST http://sms.smssender.org/index.php HTTP/1.0
User-Agent: Opera/9.23 (Windows NT 5.1; U; ru)
Host: sms.smssender.org
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: uk-UA,uk;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://sms.smssender.org/
Proxy-Connection: close
Content-Length: 100
Content-Type: application/x-www-form-urlencoded
act=send&sms_phone=+xxxxxxxxxxxx&sms_mess=TEXT&sms_trans=on&sms_break=on&sms_user=USER&sms_password=PASSWORD
USER,PASSWORD - логин и пароль твоего пользователя на сайте
xxxxxxxxxxxxx - телефонный номер получателя
TEXT - текст сообщения
Открываеш сокет, и отправляеш ему:
POST http://sms.smssender.org/index.php HTTP/1.0
User-Agent: Opera/9.23 (Windows NT 5.1; U; ru)
Host: sms.smssender.org
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: uk-UA,uk;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://sms.smssender.org/
Proxy-Connection: close
Content-Length: 100
Content-Type: application/x-www-form-urlencoded
act=send&sms_phone=+xxxxxxxxxxxx&sms_mess=TEXT&sms_trans=on&sms_break=on&sms_user=USER&sms_password=PASSWORD
USER,PASSWORD - логин и пароль твоего пользователя на сайте
xxxxxxxxxxxxx - телефонный номер получателя
TEXT - текст сообщения
а не подскажешь готовый код?
-Hormold-
13.11.2007, 23:38
<?
$al="act=send&sms_phone=+xxxxxxxxxxxx&sms_mess=TEXT&sms_trans=on&sms_break=on&sms_user=USER&sms_password=PASSWORD";
httpSocketConnection('sms.smssender.org', 'POST', 'http://sms.smssender.org/index.php', $al);
function httpSocketConnection($host, $method, $path, $data)
{
$method = strtoupper($method);
$filePointer = @fsockopen($host, 80, $errorNumber, $errorString);
if (!$filePointer)
{
exit('Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n');
return false;
}
$requestHeader = $method." ".$path." HTTP/1.1\r\n";
$requestHeader.= "Host: ".$host."\r\n";
$requestHeader.= "User-Agent: ".$browsers[rand(0,4)]."\r\n";
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";
if ($method == "POST")
{
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
}
$requestHeader.= "Connection: close\r\n\r\n";
if ($method == "POST")
{
$requestHeader.= $data;
}
fwrite($filePointer, $requestHeader);
$responseHeader = '';
$responseContent = '';
do
{
$responseHeader.= fread($filePointer, 1);
}
while (!preg_match('/\\r\\n\\r\\n$/', $responseHeader));
if (!strstr($responseHeader, "Transfer-Encoding: chunked"))
{
while (!feof($filePointer))
{
$responseContent.= fgets($filePointer, 128);
preg_match_all( '/<td></td>(.*)<td><\/td>/iUs' , $responseContent, $responseContent);
}
}
else
{
while ($chunk_length = hexdec(fgets($filePointer)))
{
$responseContentChunk = '';
//logEventToTextFile('debug', $chunk_length);
$read_length = 0;
while ($read_length < $chunk_length)
{
$responseContentChunk .= fread($filePointer, $chunk_length - $read_length);
$read_length = strlen($responseContentChunk);
}
$responseContent.= $responseContentChunk;
fgets($filePointer);
preg_match_all( '/<td></td>(.*)<td><\/td>/iUs' , $filePointer, $filePointer);
}
}
//logEventToTextFile('debug', $responseContent);
return chop($responseContent);
}
n3m0, -Hormold- спасибо чуваки! ! ! ;)
n3m0, -Hormold- спасибо чуваки! ! !
выставил вам репы +10 ;)
лол.... 0 ты выставил им =)))) твой вес реппы составлет тое число =)
PS а смс не доходят =(
а как команду:
!sms +79201031775 Привет кроссавчег!
разбить на $text и $phone ?
по первому и второму пробелу
а можно код?
Можно =)
<?
$text = '!sms +79201031775 Привет кроссавчег!';
preg_match('|^!sms\s+([^\s]+)\s+(.*)$|is', $text, $sms);
$number = $sms[1];
$text = $sms[2];
?>
так а как все это в бота запихать?
непонтяно что писать
case '!about':
$icq-sendMessage($msg['from'], $about);
break;
case '!help':
$icq-sendMessage($msg['from'], $help);
break;
case '!news':
$icq-sendMessage($msg['from'], $news);
break;
case '!sms $phone $text':
$icq-sendMessage($msg['from'], $phone);
break;
<?
$text = '!sms +79201031775 Привет кроссавчег!';
preg_match('|^!sms\s+([^\s]+)\s+(.*)$|is', $text, $sms);
$number = $sms[1];
$text = $sms[2];
?>
этот код не подходит
скажите что делать?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot