[go: up one dir, main page]

File: adcc.pl

package info (click to toggle)
sirc 2.211-9.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, squeeze
  • size: 476 kB
  • ctags: 420
  • sloc: perl: 5,330; ansic: 1,200; sh: 855; makefile: 78
file content (79 lines) | stat: -rw-r--r-- 1,603 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Alternate/Automatic (Easier) DCC Get/Chat
# version 1.1
# for use with sirc by orabidoo
#
# T-Bone/DaveK 3/?/95:
# ircII version done
#
# DaveK 6/25/95:
# ported to perl
#
# T-Bone 6/26/95:
# straightened things out generally
#
# orabidoo 6/28/95:
# a few little bugfixes
#
# T-Bone 7/4/95:
# some fixes and reordering
# made rename work
# made it perl4 compatible

$AUTOGET = "OFF" unless $AUTOGET;
$adcc    = "ON";

sub cmd_adcc {
    if ($args) {
	$adcc = ($args =~ /^on/i) ? 'ON' : 'OFF';
    } else {
	&tell("*\cbD\cb* adcc is currently $adcc.");
    }
} &addcmd("adcc");

sub hook_adcc_get {
    return unless $ssfe
	&& $_[0]	eq 'SEND'
	&& $adcc	eq 'ON'
	&& $AUTOGET	eq 'OFF';

    local($dfile) = $_[3];

    while (1) {
	&getuserline
	    ("*\cbD\cb* \cbR\cb = rename; \cbG\cb = get; \cbC\cb = close",
	    "C/R/G> ");
	if (m(^r (.*))i) {
	    &docommand("dcc rename $who $dfile $1");
	    $dfile = $1;
        } elsif (m(^c)i) {
	    &docommand("dcc close get $who $dfile");
	    return;
	} elsif (m(^g)i) {
	    &docommand("dcc get $who $dfile");
	    return;
	} else {
	    &tell("*\cbE\cb* Error in adcc command: $_");
	}
    }
} &addhook("dcc_request", "adcc_get");

sub hook_adcc_chat {
    return unless $ssfe
	&& $_[0]	eq 'CHAT'
	&& $adcc	eq 'ON';

    while (1) {
	&getuserline("*\cbD\cb* \cbA\cb = accept; \cbC\cb = close", "A/C> ");
	if (m(^a)i) {
	    &docommand("dcc chat $who");
	    return;
	} elsif (m(^c)i) {
	    &docommand("dcc close chat $who");
	    return;
	} else {
	    &tell("*\cbE\cb* Error in adcc command: $_");
	}
    }
} &addhook("dcc_request", "adcc_chat");

1;