EpicNet.Ru - Форум IRC Чата

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » EpicNet.Ru - Форум IRC Чата » CREATE NEW SCRIPT - Создать новый mIRC скрипт » Extracting a user's login from a WHOIS line


Extracting a user's login from a WHOIS line

Сообщений 1 страница 7 из 7

1

When I do /WHOIS on a nickname Telegram, I get the following lines:

⌠03:14:27 PM⌡ > Telegram is ~Telegram@189.92.92.3 * Telegram
⌠03:14:27 PM⌡ > Telegram on +#Telegram
⌠03:14:27 PM⌡ > Telegram using *.eerfdf.org Underworld
⌠03:14:27 PM⌡ > Telegram is away: Auto away at Fri Sep 22 04:40:57 2023 UTC
⌠03:14:27 PM⌡ > Telegram is logged in as Telegram
⌠03:14:27 PM⌡ > Telegram End of /WHOIS list.

I would like to extract Telegram alone from this line:

⌠03:14:27 PM⌡ > Telegram is logged in as Telegram

2

Если я правильно понял ваш запрос того, что вы хотите сделать, то попробуйте добавить эту строку кода в редактор скриптов, во вкладку "Remote":

Код:
raw *:*is logged*: echo -a $3

Идентификатор $3 должен извлекать из полученной строки логин пользователя, под которым он был зарегистрирован/идентифицирован в чате.
У меня не было возможности проверить это в вашей сети, но в нашем IRC чате это работает именно так.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

3

works excellent. tnks

4

How can I hide the whois when I execute the command and obtain the logged ?

Then it gives me a delay error when I do the "/who nick", it gives me the old username and not the current one

Код:
alias who { .whois $1- | say %logged | unset %logged }
raw *:*is logged*: { set %logged $3 }

My idea is to suspend a user from the undernet, but sometimes they don't have their mask in the IP and I have to do a whois to look at their username and from there copy it, and I want to do it all in one. ex:

.suspend Joker`
*username: JOKER has been suspended.

[indent=0.8,0.5]
You are the only one who takes the trouble to explain things on the forums.

Отредактировано ViraL (16.10.2023 02:42)

5

При создании алиаса нежелательно использовать такие названия как "who, whois" и прочие, которые соответствуют существующим серверным или клиентским командам, т.к. иначе вы не сможете выполнить эту команду через ваш клиент, потому что у вас всегда будет запускаться только этот алиас.

Я переделал название вашего алиаса на "ws", чтобы команда запуска скрипта была такой: /ws NickName
Вы можете изменить это на любое другое придуманное вами название, кроме того, что я описал выше.

Попробуйте использовать этот код скрипта:

Код:
alias ws { .enable #ws | .hadd -m ws hidelines $1 | .hadd -m ws chan $chan | whois $1 }

#ws off
raw *:*:{
  if ($hget(ws,hidelines) == $2) {
    if (*is logged* iswm $1-) {
      if ($hget(ws,chan) == $active) describe $v2 -> 14nick:04 $2 14, logged:07 $3
      else echo -a 14nick:04 $2 14, logged:07 $3
      suspend $2 | suspend $3
    }
    if ($numeric == 318) { .hfree -sw ws | .disable #ws } | haltdef
  }
}
#ws end

Я не знаю как работает команда "suspend" в вашей сети, т.к. в нашем IRC чате такая команда отсутствует и не используется.
Поэтому в строке под номером "9" этого кода я добавил сразу два варианта. Значение идентификаторов: $2 = Nickname, $3 = Logged
Оставьте в этой строке ту команду, которая вам нужна или добавьте/измените на что-то другое, что вам нужно.

[indent=0.8,0.5]
P.S. Когда вы публикуете новый пост, то пожалуйста учитывайте возможные трудности, которые могут возникнуть при переводе текста на другой язык, т.к. вы можете быть неправильно поняты, и в итоге получите не тот ответ или другой результат, отличающийся от того, что вы рассчитывали получить. Поэтому, если вы хотели, чтобы этот скрипт работал как то иначе или делал что то другое, то пожалуйста оставьте более подробную инструкцию/описание, с достаточным количеством примеров, логов и скриншотов, чтобы было более ясное представление и полное понимание того, что нужно сделать.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4897E7;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#ADADAD;}a .curl{font-family:Verdana;font-size:13px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="https://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - IRC Чат © 2008</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Вход через вебгейт:</span> <a href="http://irc.epicnet.ru"><span class="curl">http://irc.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl)<br><div></td></tr></table>[/html]

6

I'll be more careful next time

7

SUSPEND - Suspends a user's access to X on the channel's userlist for the specified period of time, at the specified
            l     evel, if given.
               - If a level is not specified, X will use your access level.
               - You can only suspend someone with access lower than your own.
               - The maximum duration is 372 days (8928 hours, 535680 minutes :P).
               * M = minutes, H = hours, D = days

Command:

       /msg X suspend <#channel> <username> <duration> <M|H|D> [level]

Note: + username is registered by X (X is Bot Services of Undernet) then address change this when do login to X: *!*@USERNAME_HERE.users.undernet.org
          + User can change any Nicknames, but host still is *!*@USERNAME_HERE.users.undernet.org (Example: User use Nickname: "NickTest", not "Telegram" but host still show this: *!*@Telegram.users.undernet.org)
           + Do a /whois Nickname to get login: Example: Telegram is logged in as Telegram (*!*@Telegram.users.undernet.org)

PURPOSE to suspended username is Telegram by this command:

When someone type this command in channel: !suspend NickName <duration> <M|H|D> [level] then Bot check that username of this nick (check login) and do this command:  /msg X suspend #myroom Telegram 3 D 500

I need this code too, Epic or someone help us to make this code. Thanks all

Отредактировано Robert (24.10.2023 08:19)


Вы здесь » EpicNet.Ru - Форум IRC Чата » CREATE NEW SCRIPT - Создать новый mIRC скрипт » Extracting a user's login from a WHOIS line