Вопросы по скриптам
|
|
|
Vladislav 07.02.11 23:35 #61
|
В info/statslev.tcl в самый низ вставить: Code bind join - * ::statslev::join proc ::statslev::join {nick uhost hand chan} { global statslev botnick lasttime6 if { $nick == $botnick } { return } set userstat [getstats $nick $chan words] if {!$userstat} { return } if {[info exists lasttime6]} { if {[expr [expr [unixtime] - $lasttime6] < 10]} { return } } set vict [nick2suser $nick $chan] if { $vict == "" || $vict == "*" } { set vict $nick } set honor ""; set ko 0 foreach item $statslev(drank) { if {$userstat <= $item} { set honor [lindex $statslev(rank) $ko]; break} incr ko } if {$honor == ""} {set honor $statslev(dmax)} incr ko putserv "PRIVMSG $chan :$::gcolor(5)$vict $::gcolor(14)имеет статус $::gcolor(6)$honor$::gcolor(14), уровень $::gcolor(6)$ko $::gcolor(14)($::gcolor(5)$userstat $::gcolor(14)сло[lindex {. во ва в} [numgrp $userstat]]$::gcolor(14))\003" set lasttime6 [unixtime] return } Quote * Сейчас Вы на канале #windrop <Windrop> Vladislav имеет статус Завсегдатай, уровень 11 (2015 слов) Особенности: -Код как есть будет работать на боте версии 1.3 и выше, иначе меняй переменный цветов на коды. -Если нет статистики бот промолчит -Если за 10 секунд будет больше 1 захода на канал то сработает антифлуд. P.S: при следующем обновлении бота, эта процедура войдёт в сборку с флагом.
|
|
|
|
HuKoTuH 21.02.11 23:25 #62
|
как сделать чтобы брал новости с сайта зенита !новость
|
|
|
|
Vladislav 22.02.11 09:03 #63
|
|
|
HuKoTuH 23.02.11 00:29 #64
|
как сделать чтобы анекдоты автоматически выводило каждые 30 адекдот секунд Добро пожаловать на канал #anekdot! Я бот канала и я люблю рассказывать анекдоты... Я знаю 54514 анекдотов.
|
|
|
|
Vladislav 23.02.11 09:45 #65
|
Поставить скрипт с автоматическим выводом анекдотов. anekd.tcl, anekdot.tcl ищи в гугле сам. Первый скорее всего не робит уже, а для второго база старющая, так что всё это хлам.
В этом разделе форума выложен скрипт-шаблон. Берёшь его подставляешь урл сайта, код нужно участка и всё, будет тебе таскать анеки с какого хочешь сайта и выводить автоматически.
Пожалуй набрасаю код для одного сайта, будет хоть норм анекдоты кидать, а не то что сейчас.
|
|
|
Как можно обрезать все пробелы вначале и в конце, не только те что повторяются?
|
|
|
|
Vladislav 06.06.11 10:52 #67
|
или
Code regsub -all {^\s+} $text "" text regsub -all {\s+$} $text "" text
|
|
|
|
UnInViTeD 24.07.11 21:05 #68
|
Давным-давно видал скриптец который приветствовал юзеров у которых ник Guest***** или IP адрес на пример мобильного оператора билайн, мтс или локальный при заходе на канал разными высказываниями.
Например:
Quote Angel_dnja [~^_^@m83-188-42-121.cust.tele2.ru] зашел на канал <@KaRaBaS> Angel_dnja Хватит себя обманывать, теле 2 не ловит нигде! =) Platon [~bot@wn2nat49.beelinegprs.ru] зашел на канал <@KaRaBaS> Platon Коль тебя Билайн спасёт - От меня тебё почёт Если нет - увы, братан. Сеть-отстой. А ты - е*лан.
В общем нужен такой скрипт =) Может быть у кого есть он?
|
|
|
|
Vladislav 25.07.11 10:42 #69
|
Поддерживает несколько вариантов ответов (если ты их добавишь).
Добавление нового хоста в скрипт:
После: Code # Хост tele2 } elseif {[string match -nocase "*@*tele2*" $uhost]} { set list {"Хватит себя обманывать, теле 2 не ловит нигде! =)"} regsub -all {%nick%} $list $nick list; regsub -all {%chan%} $list $chan list putserv "PRIVMSG $chan :[lindex $list [rand [llength $list]]]"; return
Добавляем: Quote # Хост sysert } elseif {[string match -nocase "*@*sysert*" $uhost]} { set list {"%nick%, как там в сысерти?" "О_о сысертские на канале %chan%"} regsub -all {%nick%} $list $nick list; regsub -all {%chan%} $list $chan list putserv "PRIVMSG $chan :[lindex $list [rand [llength $list]]]"; return
|
|
|
|
UnInViTeD 25.07.11 22:38 #70
|
Благодарю за скрипт и быстрый ответ
|
|
|
|
DmitRex 26.07.11 22:21 #71
|
Есть вопрос про регексп текста. Скрипт должен брать с сайта информацию. Вот что он берёт:
Code regexp {<b><a href="(.*?)">(.*?)</a></b><br/>(.*?)<br/></div>} $data "" a b c
Где a - Ссылка на файл, b - Название файла, c - описание. Но бывает, что у файла нет описание($c), а есть только Сылка($a) и Название($b) и при осутствие переменной b скрипт выдаёт ошибку.и нечего не пишет.
Как сделать, чтобы бот показвал либо пустоту, либо что-о другое.
|
|
|
|
Vladislav 26.07.11 22:42 #72
|
Например так:
Code set c "N/A" if {[regexp -nocase -- {<b><a href="(.*?)">(.*?)</a></b><br/>(.*?)<br/></div>} $data -> a b c] || [regexp -nocase -- {<b><a href="(.*?)">(.*?)</a></b></div>} $data -> a b]} { ...код... }
|
|
|
|
DmitRex 05.08.11 21:32 #73
|
Неполучилось, сделал подругому. Code set a "N/A" regexp {<small class="gr">(.*?)</small><br/><b><a href="(.*)">(.*)</a></b>} $data "" e b c regexp {<small class="gr">.*?</small><br/><b><a href=".*?">.*?</a></b><br/>(.*?)<br/>} $data "" a
|
|
|
|
DmitRex 05.08.11 23:08 #74
|
И ещё вопрос, собираюсь сделать скрипт поиса с одного сайта, но хочется чтобы бот выводил: 1) Кол-во запросов. 2) Какой сейчас запрос. Code [21:07:45] <DmitRex> !книга Дом-2 [21:07:54] <DoMoBeHoK> [1/50] Книги по названию Дом-2: Большая музыка - маленькому музыканту. Лёгкие переложения для фортепиано 1[Ноты для ДМШ и домашнего музицирования. Альбом 1 (1-2 годы обучения)] - Татьяна Юдовина-Гальперина * Большая музыка - маленькому музыканту. Лёгкие переложения для фортепиано 2.................
|
|
|
|
Vladislav 06.08.11 11:14 #75
|
Quote 1) Кол-во запросов. 2) Какой сейчас запрос.
Ты вообще о чём? Если про [1/50] то это количество найденного по данному запросу. Берёшь код той же книги и изучаешь как сделано там, в двух словах тут не объяснить.
|
|
|