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

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

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



Away auto message

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

1

This is my code:

Код:
raw *:*:{
  if $numeric == 306 { .echo 0,1 Estas Away | aguay  halt }
  if $numeric == 305 { .echo 0,1 No Estas Away | halt }
}

who can i send a msg i am away

2

#p1194,away написал(а):

who can i send a msg i am away

Слишком мало информации. Не могли бы вы оставить более подробное описание и пояснение, для чего этот скрипт, и чтобы вы хотели добавить или улучшить в этом коде ???
Необходимо иметь представление о том, в каком направлении нам двигаться при разработке этого скрипта.


В вашем коде есть ошибка " | aguay  halt". Перед командой "halt" не должно быть никакого текста, иначе это не будет работать.
Если слово "aguay" - это команда, запускающая какой то алиас, находящийся в другом скрипте, то она должна быть также разделена прямой вертикальной чертой "|".

Прямая вертикальная черта "|" используется в качестве разделителя команд, когда они все находятся в одной строке.
Поэтому перед командой "halt" также должен быть разделитель в виде прямой черты "|".

Также не забывайте использовать круглые скобки для определения условия "if ($numeric == 306)" и "if ($numeric == 305)".

Правильно должно быть так:

Код:
raw *:*:{
  if ($numeric == 306) { echo 00,01 Estas Away  | halt }
  if ($numeric == 305) { echo 00,01 No Estas Away  | halt }
}

[indent=0.8,0.5]
P.S. Просьба: Если вы публикуете сообщение на форуме в гостевом режиме как "Гость" без регистрации и авторизации вашего аккаунта, то пожалуйста пишите в поле "Имя/Ник" ваше настоящее имя или никнейм, которые вы используете в 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="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://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

Вероятно вы хотели, чтобы этот скрипт был улучшен и доделан на более профессиональном уровне.
Я немного подумал о том, чтобы вы хотели получить от вашего скрипта и разработал свой вариант.

В результате у меня получился такой код скрипта:

Код:
alias away_set {
  %away_prefix = 00,12 Auto Away 
  %away_msg = I am not online now, I went away on business ...
  %away_delay = 60
}
raw 306:*:{ away_set | %away_work = on | .echo 03Away ON: %away_prefix %away_msg | halt }
raw 305:*:{ %away_work = off | .hfree -ws away_delay | .echo 05Away OFF | halt }
on *:INPUT:*: if ($1-2 == /away on) { .away %away_prefix %away_msg | halt }
on *:TEXT:*:#: if ($me isin $strip($1-)) away_msg chan $nick $chan
on *:TEXT:*:?: away_msg priv $nick
alias away_msg {
  if (%away_work == on && !$hget(away_delay,$2)) {
    away_set | .hadd -mz away_delay $2 %away_delay
    if ($1 == chan) notice $2 %away_prefix %away_msg
    if ($1 == priv) msg $2 %away_prefix %away_msg
  }
}

Описание:

Скрипт будет автоматически извещать всех пользователей о вашем отсутствии, когда кто-то напишет ваш ник на канале или напишет вам лично в приват.

Для включения режима отсутствия напишите команду "/away on". Чтобы отключить режим напишите просто "/away".

В алиасе "away_set" вы можете настроить свои собственные значения при помощи специальных переменных:

  • %away_prefix - здесь содержится значение с префиксным сообщением, которое будет служить в качестве приставки к основному сообщению.

  • %away_msg - здесь содержится значение с текстовым сообщением, которое будет автоматически отправлено всем, кто будет пытаться с вами заговорить.

  • %away_delay - здесь содержится значение с числом секунд для задержки времени, в течении которого скрипт не будет отвечать повторно всем тем, кто уже получил ваше сообщение.

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

[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="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://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]

4

Hi Epic,

Just to add something in this code.. is it possible to log any highlight on channel mains or any private msg into a separate window say @awaymsg so that you wont miss a message even if you are away? that will also log the time when someone messages you while you are away.

Thanks & Regards,

Sleepyhead

5

1292,362 написал(а):

is it possible to log any highlight on channel mains or any private msg into a separate window say @awaymsg so that you wont miss a message even if you are away? that will also log the time when someone messages you while you are away.

Sleepyhead, спасибо за новые идеи. Это было учтено при следующей разработке 

Я решил доработать этот скрипт, но понял, что он нуждается в более серьёзном изменении (обновлении). Поэтому мне пришлось переписать его полностью заново.

Теперь всё управление осуществляется через интуитивно понятное контекстное меню:
https://i.ibb.co/Ctf7WdJ/mIRC-Away.png

Итак, вы можете попробовать использовать этот код скрипта:

Код:
######################################################################
#  Name: Away v1.0
#  Author: Epic (http://epicnet.ru, irc.epicnet.ru:6667 #Code)
#  Description: All control is carried out through the context menu. When enable sends an absence auto message.
######################################################################

menu status,channel,query,@awaylog {
  $+(Away,$chr(9),$iif(%away_work == on,ON,OFF))
  .$iif(%away_work == on,$style(1)) Enable: %away_work = on | if (!%away_msg) %away_msg = $away_msg_default | away %away_msg | echo -a 03Away ON
  .$iif(%away_work == off,$style(1)) Disable: %away_work = off | away | echo -a 05Away OFF
  .-
  .Write auto message: %away_msg = $$?="Write your auto message that users will see:" | if (%away_msg) away %away_msg | .hfree -sw away_delay
  .$+(Message delay time in sec,$chr(9),$iif(!%away_msg_delay,60,%away_msg_delay)): %away_msg_delay = $$?=" $away_dialog_delay "
  .$+(Use log window @awaylog,$chr(9),$iif(%away_win_log == $true,Yes,No)): %away_win_log = $$?!=" $away_dialog_log "
  .$+(Close private windows,$chr(9),$iif(%away_close_private == $true,Yes,No)): %away_close_private = $$?!=" $away_dialog_close "
}
----------------------------------------------------------------------
raw 306:*: haltdef 
raw 305:*: haltdef
on *:TEXT:*:#: if ($me isin $strip($1-)) away_auto_msg chan $1-
on *:TEXT:*:?: away_auto_msg priv $1-
----------------------------------------------------------------------
alias -l away_dialog_delay { return Specify the time in seconds to delay the repeated auto message of away: }
alias -l away_dialog_log { return Do you want to use the @awaylog window to save all messages while the script is enabled? }
alias -l away_dialog_close { return Do you want private windows to close when the script is enabled? }
alias -l away_msg_default { return I'm offline right now, leave your message in private... } 
alias -l away_auto_msg {
  if (%away_work == on) {
    if (%away_win_log) {
      if (!$window(@awaylog)) window @awaylog | if ($1 == chan) var %target $+(03,$chan,)
      else { if (%away_close_private) .close -m $nick | var %target $+(06,private,) }
      aline -hp @awaylog $timestamp %target $nick >>> $2-
    }
    if (!$hget(away_delay,$nick)) {
      if (!%away_msg_delay) %away_msg_delay = 60 | .hadd -mz away_delay $nick %away_msg_delay
      if (!%away_msg) %away_msg = $away_msg_default | .describe $nick 12[Auto Message] %away_msg
    }
  }
}

Если этот скрипт должен уметь делать что-то ещё, то дайте мне знать об этом в новом сообщении.

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

[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="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="http://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]