JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Разработка и проектирование [Devel] » Бот на Perl Goto page Previous  1, 2, 3, 4, 5  Next
Post new topic  Reply to topic View previous topic :: View next topic 
PostPosted: Tue Sep 18, 2007 1:53 pm Reply with quote
apxah
Отметившийся
Отметившийся
Joined: 05 Sep 2007
Posts: 19
Location: 48@conference.jabber.ru




Binary,
ты хоть читаешь что я пишу?
Quote:
1. JID не можэт находицца в двойных кавычках.

я говорю именно о JID'е, а не о чем то другом

Quote:
строка может быть заключена как в одинарные ('), так и в двойные кавычки (");

я это не отрицаю, я говорю что
Quote:
Цитата:
Основное отличие между одинарными и двойными кавычками заключается в том, что строка в одинарных кавычках является литералом в чистом виде. Поэтому ее содержимое никак не интерпретируется. В строках, заключенных в двойные кавычки, могут находиться имена переменных и последовательности управляющих символов.

(цитата из справочника по XML).
Поэтому если бы код был Код:
<x xmlns="http://jabber.org/protocol/muc#user"><item affiliation="member" jid="letruke@jabbe.net.ru/Bombus-Ultra" role="moderator"/></x>

,
то Код:
jid="letruke@jabbe.net.ru/Bombus-Ultra"

был бы неверен, так как @jabbe воспринимался бы как массив.
View user's profile Send private message Send Jabber-message ICQ Number
PostPosted: Tue Sep 18, 2007 1:56 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




источник?

не имеет значения в XML во что заключать строку. не имеет. в перл да, имеет. но связь?

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 2:08 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




вот такой XHTML:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>blank</title></head>
<body>
 <a href="xmpp:Binary@testdomain.org">link</a>
</body>
</html>


проходит валидацию на w3c.org. Как видите, JID в двойных кавычках. Так что же, что мешает прислать мне Вашему боту JID, заключенный в двойные кавычки?

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 2:12 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




P.S. а что вообще побудило к такому обильному использованию splitов? чем регекспы не угодили те же? раз уж традиционные методы Вам, почему-то, не подходят?

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:30 pm Reply with quote
apxah
Отметившийся
Отметившийся
Joined: 05 Sep 2007
Posts: 19
Location: 48@conference.jabber.ru




Binary wrote:
вот такой XHTML:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>blank</title></head>
<body>
 <a href="xmpp:Binary@testdomain.org">link</a>
</body>
</html>


проходит валидацию на w3c.org. Как видите, JID в двойных кавычках. Так что же, что мешает прислать мне Вашему боту JID, заключенный в двойные кавычки?


Neutral я совсем запутался... Но мы немного отвлеклись от темы...

Quote:
P.S. а что вообще побудило к такому обильному использованию splitов? чем регекспы не угодили те же? раз уж традиционные методы Вам, почему-то, не подходят?

вот:
Quote:
om,
йа ведь как только пришол сюда сразу спросил: Цитата:
Как вытащить jid юзера из xml кода?

,
патаму что на перле йа начинающий и многава не знаю, а следовательно не умею пользоваться парсерами Цитата:
Net::Jabber (как и Net::XMPP)

. Можэт поможэшь?

Можэт быть Вы, уважаемый Binary, поможете мне разобраться со стандартными парсерами?
View user's profile Send private message Send Jabber-message ICQ Number
PostPosted: Tue Sep 18, 2007 7:36 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




тут Вам предлагал кто-то помощь... дело в том, что на перле я xml-парсерами не пользовался, только Python... Но вот эту всю писанину со сплитами - убрать нафиг. На крайний-крайний случай - регекспы. Обычно все перлописатели их знают хорошо.

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:43 pm Reply with quote
om
Бывалый Жабовод
Бывалый Жабовод
Joined: 26 Sep 2006
Posts: 76
Location: Россия,Тольятти




Я предлагал, дал свой jid для переписки... но от помощи отказались Confused
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:44 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




а, кстати, смотрю я вот на нашего фбота и думаю, а чем боты на пайтоне то нестабильны?...

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:47 pm Reply with quote
apxah
Отметившийся
Отметившийся
Joined: 05 Sep 2007
Posts: 19
Location: 48@conference.jabber.ru




Binary,
например neutron, когда находится 20+ комнатах, постоянно вылетает... перезаходит сам по себе примерно каждый час

_________________
Уважай чужое мнение,
Но, достойный мудреца,
Сам высказывай суждение
Лишь от первого лица
© Гамзатов
View user's profile Send private message Send Jabber-message ICQ Number
PostPosted: Tue Sep 18, 2007 7:48 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




arhanrus wrote:
Binary,
например neutron, когда находится 20+ комнатах, постоянно вылетает... перезаходит сам по себе примерно каждый час

может чем изобретать велосипеды, лучше выяснить причину?

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:51 pm Reply with quote
om
Бывалый Жабовод
Бывалый Жабовод
Joined: 26 Sep 2006
Posts: 76
Location: Россия,Тольятти




Если бы я умел - 100 раз бы уже выяснил в чём проблема в mrim Smile)) пока что довольствуюсь перезапуском транспорта... с питоном вообще не общался и отладчиком не владею совсем Sad
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Tue Sep 18, 2007 7:52 pm Reply with quote
apxah
Отметившийся
Отметившийся
Joined: 05 Sep 2007
Posts: 19
Location: 48@conference.jabber.ru




Binary,
Quote:
нейтрон кривой изначально, в SVN. Легче написать бота с нуля, чем пытаться исправить его

© Dicson, bombus-ultra@conference.jabber.ru
(надеюсь, конференции тут писать не запрещено?)

_________________
Уважай чужое мнение,
Но, достойный мудреца,
Сам высказывай суждение
Лишь от первого лица
© Гамзатов
View user's profile Send private message Send Jabber-message ICQ Number
PostPosted: Tue Oct 16, 2007 10:19 pm Reply with quote
ipse
Начинающий тестер
Начинающий тестер
Joined: 11 Nov 2006
Posts: 29




arhanrus
Предлагаю тебе не мучаться, а скопипастить кусок моего кода, он стабильно извлекает jid'ы хоть с виду и неказист Smile
Code:
    my $perezens = $presence->GetXML();
    my @pere_arr = split(/\'/, $perezens);
    $from_ = $pere_arr[1];
    my $stroka;
    my $affil_;
    my $kluch;
    my $konfa_na_udalenie;
    my $znachenie;
    my $saveto;
    my $cotl = 0;
    foreach $stroka (@pere_arr) {
      $cotl++;
      if ($stroka eq "><item affiliation=") {$affil_ = $pere_arr[$cotl];}
      if ($stroka eq " jid=") {$to_ = $pere_arr[$cotl];} #else {$to_ = '';}
      if ($stroka eq "unavailable") {
        if ($from_ =~ /(.*)\/$nickname/) {
          $konfa_na_udalenie = $1;
          while ( ($kluch,$znachenie) = each(%spisokjidov) ) {
            if ($kluch =~ /($konfa_na_udalenie\/.*)/) {delete $spisokjidov{$1};}
          }
        }
        delete $spisokjidov{$from_};
        $to_ = '';
        @pere_arr = '';
      }
    }
    if ($from_ =~ /conference/ && $to_ !~ /3320/ && $to_ ne '') {
    $spisokjidov{$from_} = "$to_/$affil_";
    $saveto .= "$to_\n";
    $spisokkonf{$from} = $saveto;
    }
    $to_ = '';
View user's profile Send private message
PostPosted: Tue Oct 16, 2007 10:24 pm Reply with quote
ipse
Начинающий тестер
Начинающий тестер
Joined: 11 Nov 2006
Posts: 29




Тут кстати не только JID'ы но и некоторая другая инфа Wink
Вот как я например сделал чтоб некоторые команды в викторине были доступны только админам и овнерам.
Code:
my $kluch = "$args{from}/$args{resource}";
@infaonike = split(/\//,$::spisokjidov{$kluch});

if ($infaonike[2] eq 'owner' || $infaonike[2] eq 'admin') {
        if ($words_vi[0] eq "сл") { $nomer_igry=1;}
   if ($words_vi[0] eq "ожидание") { $ctl_ozh=$words_vi[1];}
        if ($words_vi[0] eq "старт") { $ctl_igry=1;}
        if ($words_vi[0] eq "стоп") { $ctl_igry=0;}
       
}
View user's profile Send private message
PostPosted: Wed Oct 17, 2007 6:41 am Reply with quote
om
Бывалый Жабовод
Бывалый Жабовод
Joined: 26 Sep 2006
Posts: 76
Location: Россия,Тольятти




ipse wrote:
Тут кстати не только JID'ы но и некоторая другая инфа Wink
Вот как я например сделал чтоб некоторые команды в викторине были доступны только админам и овнерам.
Code:
my $kluch = "$args{from}/$args{resource}";
@infaonike = split(/\//,$::spisokjidov{$kluch});

if ($infaonike[2] eq 'owner' || $infaonike[2] eq 'admin') {
        if ($words_vi[0] eq "сл") { $nomer_igry=1;}
   if ($words_vi[0] eq "ожидание") { $ctl_ozh=$words_vi[1];}
        if ($words_vi[0] eq "старт") { $ctl_igry=1;}
        if ($words_vi[0] eq "стоп") { $ctl_igry=0;}
       
}


Ужос! Mad
Нет слов, уважаемые... Если бы я реально думал что так разбирается XML, то я однозначно придерживался мнения что XML полное гавно Smile Какая-же это структура, если парсить приходится ручками в самой что ни на есть прикладной части...
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
Бот на Perl
JRuDevels Forum Index » Разработка и проектирование [Devel]
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 2 of 5  
Goto page Previous  1, 2, 3, 4, 5  Next
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin