File: join.mpi

package info (click to toggle)
madoka 4.1.15-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 792 kB
  • ctags: 43
  • sloc: perl: 1,140; makefile: 42
file content (40 lines) | stat: -rw-r--r-- 1,308 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
# madoka 4.1 server_join
#
# server/join.mpi
#    Copyright(c)1998- cookie / The madoka project
#

sub sv_join {
  local($from, $chan) = @_;
  local($chan, $wm) = split(/\007/, $chan) if $chan =~ /\007/;
  local($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_prefix{"!$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, '');
  }
}