Автостатус
(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) и пошалить ;)
Навигация