28 votes

Client Jabber en ligne de commande

J'ai besoin d'un simple client jabber scriptable / en ligne de commande. Quelle est la meilleure et / ou la plus simple à installer?

Clarification: je recherche un moyen simple d'envoyer des messages depuis un script.

27voto

Jay Points 20373

Voici quelques options:

Liste de Jabber Console Clients

Certaines Options De Script

Pas sûr de ce que la langue que vous cherchez à faire de votre script ou la plateforme, mais le ci-dessus devraient vous aider à démarrer.

13voto

Sec Points 2786

À l'aide du module perl Net :: Jabber , j'ai écrit le script suivant qui envoie le message de stdin à tous les utilisateurs répertoriés sur la ligne de commande.

 #!/usr/local/bin/perl

use Net::Jabber qw(Client);

my $server = "jabber.de";
my $port = "5222";
my $username = "Sec";
my $password = "<pw>";
my $resource = "autosend";
my @recipients = @ARGV;

my $clnt = new Net::Jabber::Client;

my $status = $clnt->Connect(hostname=>$server, port=>$port);

if (!defined($status)) {
    die "Jabber connect error ($!)\n";
}

my @result = $clnt->AuthSend(username=>$username,
        password=>$password,
        resource=>$resource);

if ($result[0] ne "ok") {
    die "Jabber auth error: @result\n";
}

my $body = '';
while (<STDIN>) {
    $body .= $_;
}
chomp($body);

foreach my $to (@recipients) {
    $clnt->MessageSend(to=>$to,
            subject=>"",
            body=>$body,
            type=>"chat",
            priority=>10);
}

$clnt->Disconnect();
 

7voto

Igy Points 33181

Je regardais cela moi-même et j'ai trouvé cet extrait sur http://snippets.dzone.com/posts/show/618

En python, nécessite les bibliothèques python et python-xmpp

 #!/usr/bin/python
import xmpp

login = 'Your.Login' # @gmail.com 
pwd   = 'YourPassword'

cnx = xmpp.Client('gmail.com')
cnx.connect( server=('talk.google.com',5223) )
cnx.auth(login,pwd, 'botty')

cnx.send( xmpp.Message( "YourFriend@gmail.com" ,"Hello World form Python" ) )
 

6voto

nazgul5 Points 326

sendxmpp fait cela pour moi. Basé sur la bibliothèque Net :: XMPP Perl.

sendxmpp est un script perl pour envoyer xmpp (jabber), similaire à ce que mail (1) fait pour le courrier.

 if test "$cpuload" -gt "$CPULOADMAX"; then
  top -b -n 1 | sendxmpp -s "wake up! cpu load $cpuload at `hostname`" someone@jabber.org  
fi 

Fichier de configuration '~ / .sendxmpprc' avec JID et mot de passe requis pour l'opération.

3voto

Neall Points 12075

Une autre option bibliothèque: XMPP4R est une fonctionnalité très riche en Ruby bibliothèque pour XMPP(Jabber). Il utilise le Ruby intégrés de gestion XML, qui est très agréable. Si vous avez juste besoin de base de la messagerie, il y a aussi XMPP4R-Simple.

Voici un peu de code en exemple à l'aide de XMPP4R-Simple, juste pour montrer comment il est simple (volée à partir d'ici):

jabber = Jabber::Simple.new('rex@friendosaurus.com', 'password')
jabber.deliver("bront@friendosaurus.com", "Hey! I'm thinking of going Vegetarian - Any suggestions?")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X