Автостатус

(1/1)

nunucuH4uk:
Описание: Скрипт дает прописаный статус человеку при входе на канал. Возможна проверка всех пользователей за секунду и раздача статусов. Например когда бота не было долго и он зашол.
Код:

on $*:text:/^\!(add\b.*)/i:#:{
  if ($nick != %admin) {
    notice $nick 6Вы не являетесь моим администратором и не можете зделать данное действие.
  halt }
  if (!$2) { notice $nick 14Полная команда - 6!add 4<6avtovoice4\6avtoop4\6avtohop4\6akick4> 4<6ник4> 4<6#канал4>
  halt }
  if (!$3) { notice $nick 14Полная команда - 6!add 4<6avtovoice4\6avtoop4\6avtohop4\6akick4> 4<6ник4> 4<6#канал4>
  halt }
  if (!$4) { notice $nick 14Полная команда - 6!add 4<6avtovoice4\6avtoop4\6avtohop4\6akick4> 4<6ник4> 4<6#канал4>
  halt }
  writeini avto.ini $4 $3 $2
msg # 14Пользователь10 $3 14добавлен в10 $2 14лист канала10 $4 }

on $*:text:/^\!(del\b.*)/i:#:{
  if ($nick != %admin) {
    notice $nick 6Вы не являетесь моим администратором и не можете зделать данное действие.
  halt }
  if (!$2) { notice $nick 14Полная команда - 6!del 4<6ник4> 4<6#канал4>
  halt }
  if (!$3) { notice $nick 14Полная команда - 6!del  4<6ник4> 4<6#канал4>
  halt }
  remini avto.ini $3 $2
msg # 14Пользователь10 $2 14удален из листа канала10 $3 }

on $*:text:/^\!(statustest\b.*)/i:#:{
  set %c $chan
statustest }

on *:JOIN:#:{
  if ($readini(avto.ini, $chan, $nick) == avtovoice) { mode # +v $nick }
  if ($readini(avto.ini, $chan, $nick) == avtoop) { mode # +o $nick }
  if ($readini(avto.ini, $chan, $nick) == avtohop) { mode # +h $nick }
  if ($readini(avto.ini, $chan, $nick) == akick) { kick # $nick Ты в моем акик листе канала }
}

alias statustest {
  unset %voices
  unset %ops
  unset %akicks
  unset %hops
  %i = 0
  :statustest
  inc %i
  if ($readini(avto.ini,%c,$nick(%c,%i)) == avtovoice) set %voices %voices $nick(%c,%i)
  if ($numtok(%voices, 32) == 6) { mode %c +vvvvvv %voices | unset %voices }
  if (%i == $nick(%c,0)) { mode %c +vvvvvv %voices }
  if ($readini(avto.ini,%c,$nick(%c,%i)) == avtoop) set %ops %ops $nick(%c,%i)
  if ($numtok(%ops, 32) == 6) { mode %c +oooooo %ops | unset %ops }
  if (%i == $nick(%c,0)) { mode %c +oooooo %ops }
  if ($readini(avto.ini,%c,$nick(%c,%i)) == avtohop) set %hops %hops $nick(%c,%i)
  if ($numtok(%hops, 32) == 6) { mode %c +hhhhhh %hops | unset %hops }
  if (%i == $nick(%c,0)) { mode %c +hhhhhh %hops | msg %c 6ok | halt }
  if ($readini(avto.ini,%c,$nick(%c,%i)) == akick) kick # $nick(%c,%i) Ты в моем акик листе канала
  goto statustest
}
menu channel {
  avtostatus
.Главный админ avtostatus : /set %admin $?="Введите ник админа" }

Команды: !add !del !statustest

Archangel:
Было актуально во времена, когда не существовало сервисов в IRC (да, такие времена были), сейчас статусы вполне успешно прописываются на сервисах (в том числе акики) и не только по нику.
Более того, бот не проверяет принадлежит ли ник пользователю. Например можно взять ник админа (если он не защищён через enforce immed) и пошалить ;)

Навигация

[0] Главная страница сообщений