| |
|
|
| | Здравствуйте....
Вообщем я делаю icq бота на классе WebIcqPro
И вот не знаю как сделать..
Вот пример отправки сообщения..
switch (strtolower($msg['message'])) {
case '.news':
$icq->sendMessage(4445262, "сообщение");
break;
default:
$icq->sendMessage($msg['from'], "Сообщение стандарт");
break;
}
|
Ну вот это пример...
Здесь значит если кто-нибудь напишет боту сообщение любое, то ему напишет "Сообщение стандарт" , а если он напишет .news то ему просто напишет "сообщение"
так вот в чем проблема...
Мне надо сделать так, чтобы если пишут команду ".news $text" (без кавычек, разделены пробелом) , то тогда текст $text должен послать сообщение на номер 123123321
Вообщем вы написали боту команду .news Это новость которая будет послана номеру 1231233221
И после этого надо чтобы этот текст(после команды .news) отправился на задданный номер..
Но только я не знаю как задать командутекста...как она определиться....
Помогите пожалуйста..
Спасибо | |
| |
|
|
| |
|
|
| |
для: SnooPI
(11.04.2007 в 12:39)
| | | >Но только я не знаю как задать командутекста...как она определиться....
Что значит задать команду текста?
--------
P.S. тоже пользуюсь этим классом :) | |
| |
|
|
| |
|
|
| |
для: SnooPI
(11.04.2007 в 12:39)
| | | И после этого надо чтобы этот текст(после команды .news) отправился на задданный номер..
А номер задаваться будет в скрипте или в сообщении от админа боту?
<?php
//Какой-то код
$cmd = preg_match("/^([^\s]+)/", $msg['message'], $matches) ? strtolower($matches[1]) : false;
switch($cmd)
{
case '.news':
$icq->sendMessage(4445262, substr($msg['message'], strpos($msg['message'], ' ') + 1));
break;
default:
$icq->sendMessage($msg['from'], "Сообщение стандарт");
break;
}
//Какой-то код
?>
|
| |
| |
|
|
| |
|
|
| |
для: Unkind
(11.04.2007 в 22:06)
| | | Чего то не работает.....
Вот смотрите..Я хочу чтобы:
Если боту написать фразу .news Это новость , то надо чтобы фраза после команды .news отправилась на заданный номер...
Вроде кажется легко, а не получается | |
| |
|
|
| |
|
|
| |
для: SnooPI
(11.04.2007 в 23:18)
| | | Чего то не работает.....
Что не работает? | |
| |
|
|
| |
|
|
| |
для: Unkind
(11.04.2007 в 22:06)
| | | A kak prokonnektitsya serverom icq? | |
| |
|
|
| |
|
|
| |
для: SnooPI
(11.04.2007 в 12:39)
| | | что нить типа этого
<?php
$str=".news Это новость" ;
if (strpos($str,"news")>0)
{
preg_match("/.news\s(.*)/",$str,$info);
echo $str=$info[1];
}
else
{
echo $str;
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(12.04.2007 в 13:57)
| | | KPETuH, спасибо...
Только проблема.........если написать например в 2 строки , то выводит первую только
Например пишу
.news Это новсть
2строка лалала
|
В этом случае выведет только 1 строку :(
Врроде в прег маче нет переноса или как там сделать...
Точка ведь не учитывает его | |
| |
|
|
| |
|
|
| |
для: SnooPI
(12.04.2007 в 17:31)
| | | Unkind , я не знаю
Но вот код Кретина норм получился, но почему то только 1 стрроку выводит..поомоги с этим пожалуйста | |
| |
|
|
| |
|
|
| |
для: SnooPI
(12.04.2007 в 17:31)
| | | вопрос откуда берется многострочная информация для отсылки по аське? из поля ввода или из файла? | |
| |
|
|
| |
|
|
| |
для: KPETuH
(13.04.2007 в 06:52)
| | | Ну в аське ведь ты можешь писать на нескольких строках =) (Клавишей ctrl+enter)
Из поля ввода | |
| |
|
|
| |
|
|
| |
для: SnooPI
(13.04.2007 в 07:06)
| | | я считал что вы отправляете из скрипта информацию на аську так вот в скрипте откуда информация берется? | |
| |
|
|
| |
|
|
| |
для: KPETuH
(13.04.2007 в 07:54)
| | | Вероятно, в $str может находиться несколько строк.
Здесь требуется prce-модификатор MULTILINE, иначе точка не будет отвечать символам конца строк.
preg_match("/.news\s(.*)/m",$str,$info);
|
| |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 10:00)
| | | Не получается :(
Вот код примерный
<?
$str = ".news Новость
2 строка
эээх, а эта 3 строка";
if(strpos($str, 'news')) {
preg_match("/.news\s(.*)/m", $str, $msg);
echo $msg[1];
}
?>
|
Выводит только первую строку т.е. слово "Новость"
А надо чтобы все строки выводил :( | |
| |
|
|
| |
|
|
| |
для: SnooPI
(13.04.2007 в 15:56)
| | | ок.
Напишите так:
if(strpos($str, 'news')) {
preg_match("/.news\s([\d\D]*)/", $str, $msg);
echo $msg[1]; | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 16:07)
| | | ЭЭх ужас =)
Напсиал так:
<?
$str = ".news Новость
2 строка
еще строка";
if(strpos($str, 'news')) {
preg_match("/.news\s([\d\D]*)/", $str, $msg);
echo $msg[1];
}
?>
|
Теперь выводит все, но в 1 одной строке, переносов не учитывает
Новость 2 строка еще строка
|
| |
| |
|
|
| |
|
|
| |
для: SnooPI
(13.04.2007 в 16:14)
| | | Вы не туда смОтрите.
СмотрИте исх текст HTML-кода сгенерированной страницы. Все переносы там есть. | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 16:20)
| | | Точно, а как так получается?:) | |
| |
|
|
| |
|
|
| |
для: SnooPI
(13.04.2007 в 16:21)
| | | переносы строк в HTML-коде трактуются, как пробелы. Всю жизнь. | |
| |
|
|