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

Windows 10 против шифровальщиков. Как устроена защита в обновленной Windows 10

Этой осенью Windows 10 обновилась до версии 1709 с кодовым названием Fall Creators Update …