File: join.mpi

package info (click to toggle)
madoka 4.2.3-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 960 kB
  • ctags: 45
  • sloc: perl: 1,006; makefile: 45; sh: 4
file content (41 lines) | stat: -rw-r--r-- 1,301 bytes parent folder | download
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
# madoka 4.2 sv_join
#
# server/join.mpi
#    Copyright(c)1998- cookie / The madoka project
#

sub sv_join {
  my($from, $chan) = @_;
  my $wm;
  ($chan, $wm) = split(/\007/, $chan) if $chan =~ /\007/;
  my($chanr, $chanv) = &alias_chan($chan);
  &list_init($ls_mem{$chanr}) if $from eq $us_nick;
  if ($wm) {
    &list_add($ls_mem{$chanr}, "\@$from") if $wm =~ /o/;
    &list_add($ls_mem{$chanr}, "\+$from") if $wm =~ /v/;
    &mes("+ $from($where) to $chanv with +$wm\n", $chanr);
    &send('cch', ":$from!$where JOIN $chanr\007$wm \n");
  } else {
    &list_add($ls_mem{$chanr}, $from) if $from ne $us_nick;
    &mes("+ $from($where) to $chanv\n", $chanr);
    &send('cch', ":$from!$where JOIN $chanr \n");
  }
  if ($from eq $us_nick) {
    $cl_chan{$chanr} = '';
    &list_add($chl, $chanr);
    $cl_chan = '';
    $time_count{$chanr} = $yr_timer if &list_exist($plugin_list, 'yuurii');
    $newtopic = 1;
    if ($chanr =~ /^!.....(.+)/) {
      if (defined($log_name{"!$1"})) {
	$log_handle{$chanr} = $log_handle{"!$1"};
	$log_name{$chanr} = $log_name{"!$1"};
      }
    }
  } else {
    $cl_chan = $cl_chan{$chanr};
    &check_modes($chanr) if !$wm && vec($at_state, 2, 1);
    &sendSCL("$mes_priv{$chanr}", $from) if defined($mes_priv{$chanr});
    &plugin('JOIN', $chanr, $from, '');
  }
}