Эффект в основном изменить имя пользователя / IRCname "на лету". Хотя вы отключены от вашего сервера, и вновь, в ircII клиент никогда не покинул, что сохранение всех государственных информационных и псевдонимы нетронутыми. Это идеально подходит для роботов, которые хотели бы быть очень надоедливыми в уклонении от запрета. ;)
Как это теперь новая команда в ircII, он может быть использован в скриптах. Имейте в виду, что восстановить связанные с NEWUSER команда занимает много времени, поэтому TIMER любых команд, которые должны немедленно следовать NEWUSER. Например ... Запрет уклонением сделал простой (но будьте осторожны, когда бесконечное восстановление вашего сайта запрещено):
на ^ (474 *
Эхо *** запрещено канала $ 1
если ($ N == [AnnMurray]) (
ник $ randomstring
вступать в $ 1
) (
Ник AnnMurray
newuser $ randomstring
Таймер 5 вступить $ 1
)
)
Или только для того, чтобы раздражать ... а / BE <nickname> псевдоним, что возьмет на себя человека, и имя пользователя IRCNAME:
Псевдоним быть (
^ на ^ (311 *
^ на 311 -*
newuser $ 2 $ 5 --
)
WHOIS $ 0
)
Теперь ... Для того, чтобы добавить эту команду в ваш ircII клиента получить доступ к самым последним клиентом источника (или любой клиент источник Вы используете). Cd в исходный каталог и отредактировать файл "edit.c". Внести следующие изменения:
Найдите строку, которая гласит:
наружный недействительным сервера ();
статические недействительным newuser ();
Это заранее определяет новую функцию "newuser ()", мы добавим позже.
"Имена", "имена", funny_stuff, 0,Включить следующую строку после нее:
"NEWUSER", NULL, newuser, 0,
Это добавляет новую команду NEWUSER в список действительных IRCII команд, и рассказывает ему вызов нашей новой функцией newuser (), чтобы выполнить его.
И наконец, пойти на дно файл и добавить следующий код, что наша новая функция "newuser ()":
/ * * Newuser: в / NEWUSER команды. Добавил Hendrix * Параметры следующим образом: * / NEWUSER[New_IRCNAME] * представляет собой новое имя пользователя для использования и требуется * [new_IRCNAME] является новой IRCNAME строку для использования и не является обязательным * Это будет отключать вас от вашего сервера и восстановить с помощью * новый информацию. Вам присоединиться все каналы * Вы в настоящее время и сохранить ваш текущий ник. * / Статический недействительным newuser (команды, аргументы) символ команды * * аргументы; (символ * newuname, если (newuname = next_arg (аргументы, И аргументы)) ( strmcpy (имя пользователя, newuname, NAME_LEN), если (* аргументы) strmcpy (realname, аргументы, REALNAME_LEN); сказать ( "Повторное подключение к серверу ... close_server (from_server), если (connect_to_server (server_list [from_server]. имя, server_list [ from_server]. порт, primary_server)! = -1) (change_server_channels (primary_server, from_server); set_window_server (-1, from_server, 1);) еще говорят ( "Не удается восстановить. Используйте / сервер для подключения.) еще сказать (" Вы должны указать имя пользователя и, факультативно, в IRCNAME)
/ NEWUSER не будет скрывать от вас CTCP запроса. Для этого, измените ctcp.c, как показано в следующих различий и установить переменную окружения с именем CTCPFINGER с информацией, которую вы хотели показывать, когда под сомнение.
*** Ctcp.old
--- Ctcp.c
***************
*** 334 ****
! символ C;
--- 334 ---
! символ C * fing;
***************
*** 350354 ****
! если (PWD = getpwuid (UID))
(
знаков * TMP;
--- 350356 ----
! если (fing = getenv ( "CTCPFINGER"))
! send_ctcp_reply (от CTCP-> имя, fing, дифф, C);
! остальное, если (PWD = getpwuid (UID))
(
знаков * TMP;