Дарова, перец, содержащий целую ораву ботов… Ботов-ламеров :), которые ничего не умеют, кроме как кричать «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…

Оставить мнение

Check Also

LUKS container vs Border Patrol Agent. Как уберечь свои данные, пересекая границу

Не секрет, что если ты собрался посетить такие страны как США или Великобританию то, прежд…