1 ;;; simple logging script
3 (use-modules (ice-9 rdelim))
5 (define log-port (open-file "channels.log" "al"))
8 (strftime "(%H:%M:%S) " (gmtime (current-time))))
11 "\n== STARTING LOG [ "
12 (strftime "%F " (gmtime (current-time)))
19 (string-downcase! t) " "
23 (bot:addhook hooks/public ".*"
26 (bot:addhook hooks/send/public ".*"
27 pub-func 1000 #t "log"))
33 (string-downcase! t) " "
36 (car (string-split f #\!))
39 (bot:addhook hooks/action ".*"
42 (bot:addhook hooks/send/action ".*"
43 act-hook 10000 #t "log"))
45 (bot:addhook hooks/join ".*.*"
46 (lambda (name channel)
48 (string-downcase! channel) " "
51 (string-downcase! channel))
55 (bot:addhook hooks/kick ".*"
56 (lambda (who op channel reason)
59 (string-downcase! channel) " "
61 who " was kicked from " channel
62 " by " op " (" reason ")") log-port))
65 (bot:addhook hooks/mode ".*"
66 (lambda (who channel mode)
69 (string-downcase! channel) " "
72 " on " (string-downcase! channel))
76 (bot:addhook hooks/nickname ".*"
82 orig " is now known as "
86 (bot:addhook hooks/leave ".*"
90 (string-downcase! channel) " "
92 who " has left channel "
93 (string-downcase! channel))
97 (bot:addhook hooks/signoff ".*"
103 who " has left IRC ("
104 (substring rest 1 (string-length rest)) ")")
108 (bot:addhook hooks/topic ".*"
109 (lambda (op channel new-topic)
112 (string-downcase! channel) " "
114 op " has changed the topic on "
115 (string-downcase! channel)
120 (add-hook! bot:exit-hook (lambda ()
123 (strftime "%F " (gmtime (current-time)))
125 "] ==\n") log-port)))