Portál AbcLinuxu, 6. května 2025 14:11

Dotaz: Perl XMPP Jabber

pepe_ avatar 10.9.2012 20:17 pepe_ | skóre: 48
Perl XMPP Jabber
Přečteno: 394×
Odpovědět | Admin

Zdravim , jelikoz neovladam perl ale mam v perlu scriptik pro ICQ , ten bych potreboval upravit pro XMPP :

 

---

 

#!/usr/bin/perl
use strict;
#use warnings;
use Net::OSCAR qw(:standard);
use LWP::Simple;
use Text::Iconv;

my $screenname = '***icq-uin***';
my $password   = '***icq-pass***';
my $encoding = 'ISO-8859-2';
#my $encoding = 'UTF-8';
my $oscar;
my $meme;
my $iconv_utf8 = Text::Iconv->new("UTF-8", $encoding);
my $iconv_utf16 = Text::Iconv->new("UTF-16BE", $encoding);

$oscar = Net::OSCAR->new();
$oscar->set_callback_im_in(\&im_in);
$oscar->signon($screenname, $password);

while(1) {
    $oscar->do_one_loop();
}
sub im_in {
    my($oscar, $sender, $message) = @_;

    $message = $iconv_utf16->convert($message) || $iconv_utf8->convert($message) || $message || return;
    print "\n\n\n\n*** \'".$sender."\' napsal: \'".$message."\' \n\n";
    my $bash_command='./icq_run.sh '.$message.' |';
    open(my $output,$bash_command) or die $!;
    while(my $line=<$output>){
    $oscar->send_im($sender, $line);
}
}

 

 

---

 

Poradí někdo jak to předělat na XMPP / Jabber ?  Nějak mi ty návody nefungujou : ->

 

viz :   http://codehacienda.wordpress.com/2011/02/25/perl-xmpp-library-for-creating-a-chat-bot-anyeventxmpp-example/

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

mess avatar 10.9.2012 20:29 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Perl XMPP Jabber
Odpovědět | | Sbalit | Link | Blokovat | Admin
Několik jednoduchých kroků:
  1. Zahoď ten skript pro ICQ. Knihovna pro Jabber bude mít úplně jiné rozhraní a bude se úplně jinak používat.
  2. Stáhni si a uprav tohohle Jabber Bota (klikni si nahoře na "View source", ten jejich zvýrazňovač syntaxe tam nasekal nějaké chyby). Podle zběžného pohledu by to mělo umět poslat zpátky každou zprávu, kterou tomu pošleš.
  3. Profit!
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
pepe_ avatar 11.9.2012 00:05 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Perl XMPP Jabber

Zatím mám :

 

#!/usr/bin/python
import xmpp
login = 'uziv_jmeno' 
pwd   = 'uziv_heslo'
cnx = xmpp.Client('jabber.root.cz')
cnx.connect( server=('jabber.root.cz',5223) )
cnx.auth(login,pwd, 'chat')
cnx.send(xmpp.dispatcher.Presence(status=""))

def messageHandler(conex,msg):
  return cnx.send(xmpp.Message(str(msg.getFrom()) , str(msg.getBody())))


cnx.RegisterHandler("message", messageHandler)

while 1:
    try:
        cnx.Process(1)
    except KeyboardInterrupt:
        break

 

 

Jenže stále to něco odesílá a nevim jak to má vypadat. Podadíš aby to vykonalo totéž ?

mess avatar 11.9.2012 00:44 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
Rozbalit Rozbalit vše Re: Perl XMPP Jabber
A proč sis nestáhl toho bota, co jsem na něj odkazoval? Tam ti stačí změnit login, heslo a upravit jednu funkci, která se automaticky spustí po přijetí zprávy. S tímhle pythonním skriptem ti nepomůžu, s xmpp knihovnou v pythonu nemám žádné zkušenosti.
Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
pepe_ avatar 11.9.2012 20:20 pepe_ | skóre: 48
Rozbalit Rozbalit vše Re: Perl XMPP Jabber

Protože mně to nefunguje.

 

root@alix:/# ./jaberboot
Connected
Authed
Disconnected
Can't call method "GetFrom" on an undefined value at ./jaberboot line 43.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.