Регистрация | Вход
[ Главная · Новые сообщения ]
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Вопросы по скриптам
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
Гуглим и выбираем.

Список новостей - http://www.fc-zenit.ru/main/news/rss/

Например: !новость http://www.fc-zenit.ru/rss/allnews.rss

HuKoTuH 23.02.11 00:29 #64
как сделать чтобы анекдоты автоматически выводило каждые 30 адекдот секунд Добро пожаловать на канал #anekdot! Я бот канала и я люблю рассказывать анекдоты... Я знаю 54514 анекдотов.
Vladislav 23.02.11 09:45 #65
Поставить скрипт с автоматическим выводом анекдотов. anekd.tcl, anekdot.tcl ищи в гугле сам. Первый скорее всего не робит уже, а для второго база старющая, так что всё это хлам.

В этом разделе форума выложен скрипт-шаблон. Берёшь его подставляешь урл сайта, код нужно участка и всё, будет тебе таскать анеки с какого хочешь сайта и выводить автоматически.

Пожалуй набрасаю код для одного сайта, будет хоть норм анекдоты кидать, а не то что сейчас.
anek.tcl (15.2 Kb)
ALMaz 06.06.11 10:46 #66
Как можно обрезать все пробелы вначале и в конце, не только те что повторяются?
Vladislav 06.06.11 10:52 #67
Code
[string trim $text]


или

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
joinlol.tcl (1.2 Kb)
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] то это количество найденного по данному запросу. Берёшь код той же книги и изучаешь как сделано там, в двух словах тут не объяснить.
Форум » Основной раздел » Мастерская » Вопросы по скриптам
Поиск: