aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-03-01 23:31:43 +0100
committerJelmer Vernooij <jelmer@samba.org>2006-03-01 23:31:43 +0100
commit5fe0207972bb2466a40dcbbc39dd1e93545f4913 (patch)
tree42729fd911f59745310ef701a77eba5de329d6fb /utils
parent8a56e52a518855150525eab9e0fcdbe776223ffc (diff)
Add simple bitlbee control script
Diffstat (limited to 'utils')
-rwxr-xr-xutils/bitlbee-ctl.pl59
1 files changed, 59 insertions, 0 deletions
diff --git a/utils/bitlbee-ctl.pl b/utils/bitlbee-ctl.pl
new file mode 100755
index 00000000..32f0a81e
--- /dev/null
+++ b/utils/bitlbee-ctl.pl
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+# Simple front-end to BitlBee's administration commands
+# Copyright (C) 2006 Jelmer Vernooij <jelmer@samba.org>
+
+use IO::Socket;
+use Getopt::Long;
+use strict;
+use warnings;
+
+my $opt_help;
+my $opt_socketfile = "/var/run/bitlbee";
+
+sub ShowHelp
+{
+ print
+"bitlbee-ctl.pl [options] command ...
+
+Available options:
+
+ --ipc-socket=SOCKET Override path to IPC socket [$opt_socketfile]
+ --help Show this help message
+
+Available commands:
+
+ die
+
+";
+ exit (0);
+}
+
+GetOptions (
+ 'help|h|?' => \&ShowHelp,
+ 'ipc-socket=s' => \$opt_socketfile
+ ) or exit(1);
+
+my $client = IO::Socket::UNIX->new(Peer => $opt_socketfile,
+ Type => SOCK_STREAM,
+ Timeout => 10);
+
+if (not $client) {
+ print "Error connecting to $opt_socketfile: $@\n";
+ exit(1);
+}
+
+my $cmd = shift @ARGV;
+
+if (not defined($cmd)) {
+ print "Usage: bitlbee-ctl.pl [options] command ...\n";
+ exit(1);
+}
+
+if ($cmd eq "die") {
+ $client->send("DIE\r\n");
+} else {
+ print "No such command: $cmd\n";
+ exit(1);
+}
+
+$client->close();