Portál AbcLinuxu, 7. listopadu 2025 13:00
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/
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éž ?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.