floodingschutz

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    floodingschutz

    beim flooding und automatischen knebeln wir keine zeit angezeigt
    da steht nur:

    Quellcode

    1. The-Devils-Hell Chat konnte das gerede von Gast832 nicht mehr ertragen und klebt seinen Mund mit Klebeband zu. Es dauert Minuten, um das Klebeband zu entfernen...


    der code lautet:

    Quellcode

    1. sub text_handler
    2. {
    3. my($self,$main,$command,$text) = @_;
    4. my @ret=();
    5. if (my $error=check_floodming($main))
    6. {
    7. return $error;
    8. }
    9. elsif (my $error=check_gagged($main))
    10. {
    11. return $error;
    12. }
    13. else
    14. {
    15. my @points = split(/\s/,$text);
    16. my $count = 0;
    17. my $count2 = 0;
    18. foreach (@points)
    19. {
    20. if ($count < 2.01)
    21. {
    22. $count = $count+0.2;
    23. }
    24. }
    25. my $user = $main->{current_user};
    26. my $points = $user->{points};
    27. my $flood = $user->{flood};
    28. $main->loadUser($user->{name},$user);
    29. $user->{points} = $points + $count;
    30. $count2 = $main->{runtime}{now}-$user->{lasttalk}+1;
    31. if ($count2 < '5')
    32. {
    33. $user->{flood}++;
    34. }
    35. elsif ($user->{flood} > '-1' && $count2 > '5')
    36. {
    37. $user->{flood}--;
    38. }
    39. else
    40. {
    41. $user->{flood}=0;
    42. }
    43. $main->saveUser($user);
    44. }
    45. if ($main->{current_user}{away})
    46. {
    47. $main->{current_user}{away} = 0;
    48. my $output = $main->createInfoOutput('awayoff',{nick => $main->{current_user}{nick}});
    49. push @ret, $output->restrictToUser->restrictToCurrentRoom->setChangedAttributes('away');
    50. }
    51. my @to=();
    52. my @words = split(/\s/,$text);
    53. my $changed = 0;
    54. my $i=$#words;
    55. while ($i>=0 && $words[$i] =~ /^\@[^@]+$/)
    56. {
    57. $i--;
    58. }
    59. unshift(@words,splice(@words,$i+1));
    60. while ($words[0] =~ /^[^:]+:$/ || $words[0] =~ /^\@[^@]+$/)
    61. {
    62. $words[0] =~ s/\:$//;
    63. $words[0] =~ s/^\@//;
    64. my $candidates = $main->getPossibleOnlineUsers($words[0],$main->{current_user}{room});
    65. if ($#$candidates<0)
    66. {
    67. push @ret,$main->createErrorOutput('notinroom',{nick => $words[0]});
    68. }
    69. elsif ($#$candidates>0)
    70. {
    71. push @ret,$main->createErrorOutput('ambiguousname',{nick => $words[0]});
    72. }
    73. else
    74. {
    75. push @to, $candidates->[0]{nick};
    76. $changed = 1;
    77. }
    78. shift(@words);
    79. }
    80. $text=join(' ',@words) if ($changed);
    81. if ($text ne "")
    82. {
    83. my $output = $main->createOutput(
    84. {
    85. template => $command eq ''?'text':'admin',
    86. name => $main->{current_user}{name},
    87. nick => $main->{current_user}{nick},
    88. color => $main->{current_user}{color},
    89. text => $main->toHTML($text),
    90. '*' => \@to,
    91. });
    92. push @ret,$output->restrictToCurrentRoom;
    93. }
    94. return \@ret;
    95. }
    96. sub check_floodming
    97. {
    98. my $main = shift;
    99. if ($main->{current_user}{tempgroup} < "1")
    100. {
    101. my $user = $main->{current_user};
    102. if (4 < $user->{flood} && $user->{warn} ne "1" && $main->{runtime}{now} > $user->{warn})
    103. {
    104. $main->loadUser($user->{name},$user);
    105. $user->{flood} = 0;
    106. $user->{warn} = $main->{runtime}{now} + 900;
    107. $main->saveUser($user);
    108. my @blah=();
    109. push @blah,$user->{nick};
    110. return [$main->createOutput(
    111. {
    112. template => 'admin',
    113. name => '',
    114. nick => $main->{settings}{chatname},
    115. color => '#00000',
    116. font => 'Verdana',
    117. text => 'Hey! Lass es lieber....!',
    118. '*' => \@blah,
    119. })];
    120. }
    121. elsif (4 < $user->{flood} && $main->{runtime}{now} < $user->{warn})
    122. {
    123. $main->loadUser($user->{name},$user);
    124. $user->{flood} = 0;
    125. $user->{warn} = 1;
    126. $user->{gagtime} = $main->{runtime}{now}+5*60;
    127. $main->saveUser($user);
    128. return [$main->createInfoOutput('gagged',{admin => $main->{settings}{chatname}, nick => $user->{nick}, minuten => '5',})->restrictToCurrentRoom];
    129. }
    130. elsif (4 < $user->{flood} && $user->{warn} eq "1")
    131. {
    132. my $points = $user->{points};
    133. my $removed = 100;
    134. $main->loadUser($user->{name},$user);
    135. $user->{flood} = 0;
    136. $user->{warn} = 0;
    137. $user->{points} = $points - $removed;
    138. $user->{gagtime} = $main->{runtime}{now}+5*60;
    139. $main->saveUser($user);
    140. return [$main->createInfoOutput('flooding',{chat => $main->{settings}{chatname}, points => $removed, nick => $user->{nick}, minuten => '5',})->restrictToCurrentRoom];
    141. }
    142. }
    143. }
    144. sub away_handler

    burli001 schrieb:

    return [$main->createInfoOutput('flooding',{chat => $main->{settings}{chatname}, points => $removed, nick => $user->{nick}, minuten => '5',})->restrictToCurrentRoom];

    da gibt´s MEHRERE PARAMETER, bitte denk EIN BISSCHEN mit, wir können dir nicht alles exakt sagen - probieren und staunen 8|



    dieser befehl

    Quellcode

    1. return [$main->createInfoOutput('gagged',{admin => $main->{settings}{chatname}, nick => $user->{nick}, minuten => '5',})->restrictToCurrentRoom];

    und

    Quellcode

    1. return [$main->createInfoOutput('flooding',{chat => $main->{settings}{chatname}, points => $removed, nick => $user->{nick}, minuten => '5',})->restrictToCurrentRoom];

    steht in meiner textcommands.pm aber der zaigt KEINE minutenzahl im chat an wenn man vom floodingschutz geknebelt wird

    wo muss dieser parameter rein?
    ich teste schon seit stunden mit dem floodingschutz rum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „jason“ ()