Дарова, перец, содержащий целую ораву ботов... Ботов-ламеров :), которые ничего не умеют, кроме как кричать "Op me cos, i'm lame" :)) А куча возможностей для твоего бота могут дать tcl-скрипты, написанные не каким-то Alian`ом из Франции, а лично тобой... Тогда ты будешь уверен на 100%, что ты научил своего бота чему-либо хорошему 😉
Мутим первый скрипт... Например такой: бот через некоторый промежуток времени говорит какой-нибудь прикол... Приколы берутся из файла. Все, что тебе желательно знать, дык это основы TCL и эггдроп-команды, которые можно использовать в скриптах... За этим обращайся в директорию "help" в главной дире твоего бота...
Итак, пишем сам скрипт..
# Talker script by Forbik: <root@k-ur.net> # Трэйдмарк 😉 Вставить свое 🙂
# Variables: # Переменные для работы скрипта
set tcolor 10 # Цвет сообщения бота
set tint 1 # Интервал (в минутах)
set tfile "talker.txt" # Файл с приколами
set counts 0 # Подсчет фраз
proc ptalk {} {
global tint tcolor counts talks
putserv "privmsg #sonet :$tcolor$talks([rand $counts])"
timer $tint { ptalk }
}
# Берем переменные для подпрограммы и пишем рандомную фразу из массива $talks... putserv - передача данных на IRC-сервер. rand - вычисляет случайное число, и повторный запуск таймера
proc loadtalks {} {
global tfile counts talks
set talkfile [open $tfile r]
while { [gets $talkfile line ] >=0 } {
set talks($counts) $line;
incr counts;
}
close $talkfile
}
# Процедура открывает файл с приколами и создает массив всех фраз..
loadtalks
ptalk;
# Выполнение 2х процедур
bind dcc +n talk stat_dcc
proc stat_dcc {handle idx args} {
global tcolor tint tfile counts
putlog "Talk script by Forbiki:\r"
putlog "Talk color is: $tcolor\r"
putlog "Talk interval is: $tint minute(s)\r"
putlog "Talk file is: $tfile\r"
putlog "Talks: $counts\n\r"
}
# Если какой-либо оунер бота на PartyLine наберет "talk", то получит текущие значения переменных... Их также можно изменить с помощью "set".
timer $tint { ptalk }
# Ну и конечно... Запуск таймера: через время tint, выполняется процедура ptalk...
putlog "All: $counts talks loaded" # Отчет о при загрузке скрипта
Вот и все... все очень просто... Главное НЕМНОГО знать Tcl..
Еще 1 необходимый скрипт... Я всегда пользую его, и он мне очень помогает следить за происходящим в PartyLine...
Походу дела, станет понятно его
предназначение:
###### BINDS
bind join - *!*@* do_join_user
bind part - *!*@* do_part_user
###### END BINDS
# Слежение за вход на канал и выход с канала.. И привязка этим событиям соответствующих подпрограмм
###### START PROCEDURE
proc do_join_user {nick uhost handle chan args} {
## Процедура захода на канал...
global botnick
if {($nick == $botnick)} {
putlog "I'm joined on $chan"
# Если ник совпадает с ником бота - сообщить в партилайн, что бот зашел на канал..
} else {
if {!($handle=="*")} {
putlog "$nick ($uhost) joined $chan as \"$handle\""
} else {
putlog "$nick ($uhost) joined $chan as \"more mortal\""
}
# Иначе сообщить ник юзера и его прописанный ник на боте (либо - "простой смертный").
}}
proc do_part_user {nick uhost handle chan args} {
global botnick
if {($nick == $botnick)} {
putlog "I'm parted from $chan"
} else {
putlog "$nick parted from $chan"
}}
# Почти тоже самое с Part
putlog "Join script loaded!" # Отчет о загрузке
Вот и весь незаменимый скрипт! Согласитесь, удобно, когда оповещается, кто заходит и уходит с канала...
Во второй части моей статьи я расскажу о Botnet скрипте и многих других возможностей TCL&&Eggdrop...