Advertisement
LoveAbleElf

awaymsg

Jun 24th, 2019
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.04 KB | None | 0 0
  1. menu channel,status {
  2. -
  3. .Away System:dialog -m awaysys awaysys
  4. .-
  5. }
  6.  
  7. ;Away System
  8.  
  9. on *:load: {
  10. set %tipo.spam ame
  11. set %tiempo.aaway 10
  12. set %nick.away Away-Nick
  13. set %anuncio.away 15
  14. set %auto.away 600
  15. set %a.spam.away 900
  16. set %msg.awayon.st Away On: [m] - Out at: [h]
  17. set %msg.away.st Away: [m] - Away from: [h] - Time out: [t]
  18. set %msg.awayoff.st Away Off: [m] - Away since: [t] - Away hour: [h]
  19. echo -at [( Away System )] By eNkIL
  20. }
  21.  
  22.  
  23. alias away.dur {
  24. dialog -t awaysys Away System - $iif($away,Away: $duration($awaytime),Online)
  25. }
  26. alias durationasaway {
  27. %tipo.spam $replace(%msg.away.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime))
  28. }
  29. alias set.away {
  30. set %awayon 1
  31. if (%autoaway.on == on) { set %razona Auto Away | .timercheck.aaway off }
  32. else { set %razona $did($dname,101).text }
  33. if (%razona == $null) { set %razona No Reason... }
  34. if (%act.cam.nick) { set %nick.back $me | nick %nick.away }
  35. if (%act.anun.nick) {
  36. set %a.spam.away $calc(%anuncio.away * 60)
  37. set %awaysal $time(hh:nnt)
  38. .timerasaway 0 %a.spam.away durationasaway
  39. %tipo.spam $replace(%msg.awayon.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal)
  40. }
  41. if (%page) {
  42. window -g2k0 +l @AwayMsg 0 0 900 450 @AwayMsg
  43. wa.log -----------------------------------------------------------------
  44. wa.log *** Started at: %awaysal
  45. wa.log *** Away Reason: %razona
  46. wa.log -----------------------------------------------------------------
  47. }
  48. away %razona
  49. }
  50. alias wa.log {
  51. echo -t @awaymsg $1-
  52. }
  53. alias set.back {
  54. if (%page) {
  55. wa.log -----------------------------------------------------------------
  56. wa.log *** Away Off: $asctime(hh:nnt)
  57. wa.log -----------------------------------------------------------------
  58. }
  59. if (%act.anun.nick) { %tipo.spam $replace(%msg.awayoff.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime)) }
  60. if (%act.cam.nick) { set %nick.away $me | nick %nick.back }
  61. if (%act.auto.away) { set %autoaway.on off | unset %idle.time | .timercheck.aaway 0 30 autoawaycheck }
  62. .timerasaway off
  63. set %awayon 0
  64. unset %razona
  65. unset %idle.time
  66. unset %idle.me
  67. away
  68. }
  69. alias info.away {
  70. if (%act.auto.away) { did -c $dname 201 | did -e $dname 202 | did -ra $dname 202 %tiempo.aaway | .enable #autoaway | set %idle.me on }
  71. else { did -u $dname 201 | did -b $dname 202 | did -ra $dname 202 %tiempo.aaway | .disable #autoaway | unset %idle.me | unset %idle.time }
  72. if (%act.cam.nick) { did -c $dname 203 | did -e $dname 204 | did -ra $dname 204 %nick.away }
  73. else { did -u $dname 203 | did -b $dname 204 | did -ra $dname 204 %nick.away }
  74. if (%act.anun.nick) { did -c $dname 205 | did -e $dname 206 | did -ra $dname 206 %anuncio.away }
  75. else { did -u $dname 205 | did -b $dname 206 | did -ra $dname 206 %anuncio.away }
  76. if (%act.auto.resp) { did -c $dname 207 }
  77. else { did -u $dname 207 }
  78. if (%page) { did -c $dname 209 }
  79. else { did -u $dname 209 }
  80. if (%tipo.spam == ame) { did -c $dname 212 | did -u $dname 213 }
  81. elseif (%tipo.spam == amsg) { did -u $dname 212 | did -c $dname 213 }
  82. did -ra $dname 403 %msg.awayon.st
  83. did -ra $dname 405 %msg.away.st
  84. did -ra $dname 407 %msg.awayoff.st
  85. }
  86. alias update.away {
  87. if (%awayon) { did -b $dname 101,201-207,209,211,212,213,403,405,407,408 | did -r $dname 101 | did -ve $dname 303 | did -bh $dname 302 }
  88. else { did -r $dname 101 | did -a $dname 101 Not Here!. | did -a $dname 101 BRB. | did -a $dname 101 Watching tv. | did -a $dname 101 Can't talk. | did -ve $dname 302 | did -bh $dname 303 | did -e $dname 101,201,203,205,207,209,211,212,213,403,405,407,408 | info.away }
  89. }
  90. #autoaway off
  91. alias autoawaycheck {
  92. inc %idle.time 30
  93. if (%idle.time > %auto.away) {
  94. if ($away == $true) { halt }
  95. else {
  96. set %autoaway.on on
  97. set.away
  98. unset %idle.me
  99. }
  100. }
  101. }
  102. #autoaway end
  103. on *:CONNECT:{
  104. if (%act.auto.away = 1) { .timercheck.aaway 0 30 autoawaycheck }
  105. }
  106. on 1:TEXT:*:#:{
  107. if ($me isin $strip($1-)) {
  108. if ($away == $true) {
  109. if (%page) { wa.log .: Info :: $chan :: $nick $+ : $1- }
  110. if (%act.auto.resp) {
  111. if (%away.cont. [ $+ [ $nick ] ] == $null) { .notice $nick $replace(%msg.away.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime)) - One time response. }
  112. set -u180 %away.cont. [ $+ [ $nick ] ] -
  113. }
  114. }
  115. halt
  116. }
  117. }
  118. on 1:TEXT:*:?:{
  119. if ($away == $true) {
  120. if (%page) { wa.log .: Info :: PM :: $nick $+ : $1- }
  121. if (%act.auto.resp) {
  122. if (%away.cont. [ $+ [ $nick ] ] == $null) { .msg $nick $replace(%msg.away.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime)) - One time response. }
  123. set -u180 %away.cont. [ $+ [ $nick ] ] -
  124. }
  125. }
  126. halt
  127. }
  128. on 1:ACTION:*:?: {
  129. if ($away == $true) {
  130. if (%page) { wa.log .: Info :: PMA :: $nick $+ : $1- }
  131. if (%act.auto.resp) {
  132. if (%away.cont. [ $+ [ $nick ] ] == $null) { .msg $nick $replace(%msg.away.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime)) - One time response. }
  133. set -u180 %away.cont. [ $+ [ $nick ] ] -
  134. }
  135. }
  136. halt
  137. }
  138.  
  139. on 1:ACTION:*:#:{
  140. if ($me isin $strip($1-)) {
  141. if ($away == $true) {
  142. if (%page) { wa.log .: Info :: $chan :: $nick $+ : $1- }
  143. if (%act.auto.resp) {
  144. if (%away.cont. [ $+ [ $nick ] ] == $null) { .notice $nick $replace(%msg.away.st,[b],,[u],,[k],,[m],%razona,[h],%awaysal,[t],$duration($awaytime)) - One time response. }
  145. set -u180 %away.cont. [ $+ [ $nick ] ] -
  146. }
  147. }
  148. halt
  149. }
  150. }
  151. on *:op:#: {
  152. if ($away) && ($opnick == $me) {
  153. if (%page) { wa.log .: Op :: $chan :: $nick $+ : $1- }
  154. }
  155. }
  156. on *:deop:#: {
  157. if ($away) && ($opnick == $me) {
  158. if (%page) { wa.log .: Deop :: $chan :: $nick $+ : $1- }
  159. }
  160. }
  161. on *:kick:#: {
  162. if ($away) && ($knick == $me) {
  163. if (%page) { wa.log .: Kick :: $chan :: $nick $+ : $1- }
  164. }
  165. }
  166. on *:ban:#: {
  167. if ($away) && ($banmask iswm $address($me,5)) {
  168. if (%page) { wa.log .: Ban :: $chan :: $nick $+ : $1- }
  169. }
  170. }
  171. on *:Disconnect: {
  172. set %awayon 0
  173. .timercheck.aaway off
  174. }
  175.  
  176. ; Dialogo principal
  177. dialog awaysys {
  178. title "Away System"
  179. size -1 -1 138 35
  180. option dbu
  181. box "Away Reason", 100, 1 1 136 33
  182. combo 101, 3 9 132 10, drop edit sort
  183. ;
  184. box "Config", 200, 1 35 97 50
  185. check "Act. Autoaway Mins:", 201, 5 42 65 10
  186. edit "", 202, 75 42 20 9, center
  187. check "Nick change:", 203, 5 52 45 10
  188. edit "", 204, 55 52 40 9, center
  189. check "Away spam every:", 205, 5 62 65 10
  190. edit "", 206, 75 62 20 9, center
  191. check "Auto answer Away", 207, 5 72 70 10
  192. box "Away-Log", 208, 99 35 37 25
  193. check "On", 209, 108 45 20 9
  194. box "Spam", 211, 99 60 37 25
  195. radio "/ame", 212, 108 67 20 9
  196. radio "/amsg", 213, 108 75 22 9
  197. ;
  198. button "▼", 301, 116 20 20 10
  199. button "Set Away", 302, 2 20 35 10
  200. button "Away Back", 303, 2 20 35 10, hide
  201. button "Close", 304, 40 20 35 10, cancel
  202. ;
  203. box "Away Msgs.", 401, 1 85 135 110
  204. text "Going Away:", 402, 3 93 40 10
  205. edit "", 403, 2 102 133 10, autohs
  206. text "Away:", 404, 3 113 40 10
  207. edit "", 405, 2 122 133 10, autohs
  208. text "Back Away:", 406, 3 133 40 10
  209. edit "", 407, 2 142 133 10, autohs
  210. button "Apply", 408, 43 183 55 10
  211. text [b] - Bold $+ $crlf $+ [u] - Underline $+ $crlf $+ [k] - Color, 409, 2 155 90 25, left
  212. text Away Msg - [m] $+ $crlf $+ Time Gone - [t] $+ $crlf $+ Out time - [h], 410, 45 155 90 25, right
  213. text "eNkIL", 1, 109 185 25 8, disable center
  214. }
  215. ;Eventos dialogo
  216. on *:dialog:awaysys:*:*:{
  217. if ($devent == init) {
  218. if ($did = 0) { info.away | update.away | away.dur | .timerdiaawadur 0 1 away.dur }
  219. }
  220. ;
  221. if ($devent == sclick) {
  222. if ($did = 201) { set %act.auto.away $did($dname,201).state | update.away | if (%act.auto.away = 1) { .timercheck.aaway 0 30 autoawaycheck } | else { .timercheck.aaway off } }
  223. if ($did = 203) { set %act.cam.nick $did($dname,203).state | update.away }
  224. if ($did = 205) { set %act.anun.nick $did($dname,205).state | update.away }
  225. if ($did = 207) { set %act.auto.resp $did($dname,207).state | update.away }
  226. if ($did = 209) { set %page $did($dname,209).state }
  227. if ($did = 212) { set %tipo.spam ame }
  228. if ($did = 213) { set %tipo.spam amsg }
  229. if ($did = 301) { if ($did(301) == ▼) { dialog -s $dname -1 -1 276 392 | did -ra $dname 301 ▲ } | else { dialog -s $dname -1 -1 276 70 | did -ra $dname 301 ▼ } }
  230. if ($did = 302) { set.away | update.away }
  231. if ($did = 303) { set.back | update.away }
  232. if ($did = 408) { set %msg.awayon.st $did($dname,403) | set %msg.away.st $did($dname,405) | set %msg.awayoff.st $did($dname,407) }
  233. }
  234. ;
  235. if ($devent == edit) {
  236. if ($did = 202) { set %tiempo.aaway $did($dname,202) | set %auto.away $calc(%tiempo.aaway * 60) }
  237. if ($did = 204) { set %nick.away $did($dname,204) }
  238. if ($did = 206) { set %anuncio.away $did($dname,206) }
  239. }
  240. if ($devent == close) { .timerdiaawadur off }
  241. }
  242. on *:input:*:{
  243. if (%idle.me == on) { unset %idle.time }
  244. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement