summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gizmo/wasp-alert-message.el1
-rw-r--r--src/gizmo/wasp-heartrate.el1
-rw-r--r--src/gizmo/wasp-telemetry.el1
-rw-r--r--src/wasp-event-handlers-binary.el72
-rw-r--r--src/wasp-setup.el10
5 files changed, 76 insertions, 9 deletions
diff --git a/src/gizmo/wasp-alert-message.el b/src/gizmo/wasp-alert-message.el
index fb80f002..c645b01f 100644
--- a/src/gizmo/wasp-alert-message.el
+++ b/src/gizmo/wasp-alert-message.el
@@ -51,7 +51,6 @@
(setq
w/alert-message-timer
(run-with-timer 10 nil #'w/run-alert-message-timer)))
-(w/run-alert-message-timer)
(provide 'wasp-alert-message)
;;; wasp-alert-message.el ends here
diff --git a/src/gizmo/wasp-heartrate.el b/src/gizmo/wasp-heartrate.el
index a195e0c5..91e758fd 100644
--- a/src/gizmo/wasp-heartrate.el
+++ b/src/gizmo/wasp-heartrate.el
@@ -78,7 +78,6 @@
(setq
w/heartrate-timer
(run-with-timer 1 nil #'w/run-heartrate-timer)))
-(w/run-heartrate-timer)
(provide 'wasp-heartrate)
;;; wasp-heartrate.el ends here
diff --git a/src/gizmo/wasp-telemetry.el b/src/gizmo/wasp-telemetry.el
index 6625f38b..a0fdcd12 100644
--- a/src/gizmo/wasp-telemetry.el
+++ b/src/gizmo/wasp-telemetry.el
@@ -53,7 +53,6 @@
(setq
w/telemetry-timer
(run-with-timer 10 nil #'w/run-telemetry-timer)))
-(w/run-telemetry-timer)
(provide 'wasp-telemetry)
;;; wasp-telemetry.el ends here
diff --git a/src/wasp-event-handlers-binary.el b/src/wasp-event-handlers-binary.el
index 09ea3175..b7df863d 100644
--- a/src/wasp-event-handlers-binary.el
+++ b/src/wasp-event-handlers-binary.el
@@ -6,6 +6,8 @@
(require 's)
(require 'wasp-utils)
(require 'wasp-twitch)
+(require 'wasp-friend)
+(require 'wasp-model)
(require 'wasp-bus-binary)
(setf
@@ -13,18 +15,82 @@
(list
(cons "monitor twitch chat incoming"
(lambda (d)
+ (message "incoming: %s" d)
(-let [(user stags msg) (s-split-up-to " " (w/utf8 d) 2)]
(w/twitch-handle-incoming-chat
user
(--map (s-split "\t" it) (s-split "\n" stags))
msg))))
+ (cons "monitor twitch redeem incoming"
+ (lambda (d)
+ (-let [(user redeem input) (s-split-up-to " " (w/utf8 d) 2)]
+ (w/twitch-handle-redeem-helper user redeem input))))
(cons "frontend redeem incoming"
(lambda (d)
(-let [(user redeem input) (s-split-up-to "\t" (w/utf8 d) 2)]
(w/twitch-handle-redeem-helper user redeem input 1000))))
- ;; (cons "test event 2"
- ;; (lambda (d)
- ;; (message "incoming: %s" d)))
+ (cons "monitor twitch raid"
+ (lambda (d)
+ (let ((user (w/utf8 d)))
+ (soundboard//play-clip "rampage.mp3")
+ (w/write-chat-event (format "%s just raided!" user))
+ (w/friend-respond (format "%s just came to visit" user))
+ (run-with-timer
+ 15 nil
+ (lambda ()
+ (w/twitch-get-user-recent-clips
+ user
+ (lambda (clips)
+ (w/model-region-word "hair" (s-concat user "_"))
+ (w/model-region-word "eyes" "WELCOME")
+ (if clips
+ (w/model-region-video "hair" (car clips))
+ (w/model-region-user-avatar "hair" user)))))))))
+ (cons "monitor twitch follow"
+ (lambda (d)
+ (let ((user (w/utf8 d)))
+ (soundboard//play-clip "firstblood.mp3")
+ (w/model-region-word "skin" (format "welcome_%s_" user))
+ (w/friend-respond (format "%s just followed the stream" user))
+ (w/write-chat-event (format "New follower: %s" user)))))
+ (cons "monitor twitch subscribe"
+ (lambda (d)
+ (let ((user (w/utf8 d)))
+ (w/thank-sub user)
+ (w/model-region-word "skin" (format "thanks_%s_" user))
+ (w/friend-respond (format "%s just subscribed to the stream" user))
+ (w/write-chat-event (format "New subscriber: %s" user)))))
+ (cons "monitor twitch gift"
+ (lambda (d)
+ (-let [(user subs) (s-split-up-to " " (w/utf8 d) 2)]
+ (unless (s-equals? user "lcolonq")
+ (w/model-region-word "skin" (format "thanks_%s_" user))
+ (w/friend-respond (format "%s just gifted subscriptions" user))
+ (w/write-chat-event (format "%s gifted %d subs" user subs))
+ (soundboard//play-monsterkill subs)))))
+ (cons "monitor twitch poll begin"
+ (lambda (_)
+ (w/write-chat-event "Poll started")
+ (w/friend-respond "The chatters are doing a poll")))
+ (cons "monitor twitch poll end"
+ (lambda (d)
+ (let*
+ ( (sp (s-split " " (w/utf8 d)))
+ (choices (--map (s-split "," it) (cdr sp)))
+ (winner (car (-max-by (-on #'> #'cadr) choices))))
+ (w/write-chat-event (format "Poll finished, winner is: %s" winner))
+ (when w/twitch-current-poll-callback
+ (funcall w/twitch-current-poll-callback winner))
+ (setq w/twitch-current-poll-callback nil))))
+ (cons "monitor twitch prediction begin"
+ (lambda (d)
+ (w/write-chat-event "Gamble started")
+ (w/friend-respond "The chatters are gambling")
+ (setq w/twitch-current-prediction-ids (w/utf8 d))))
+ (cons "monitor twitch prediction end"
+ (lambda (_)
+ (w/write-chat-event "Gamble finished")
+ (setq w/twitch-current-prediction-ids nil)))
))
(provide 'wasp-event-handlers-binary)
diff --git a/src/wasp-setup.el b/src/wasp-setup.el
index b261607e..53c99765 100644
--- a/src/wasp-setup.el
+++ b/src/wasp-setup.el
@@ -38,15 +38,19 @@
(w/show-chat-overlay-frame nil)
(w/twitch-7tv-update-emotes)
(w/twitch-update-title)
+ (w/populate-bible-table)
+ ;; (w/user-cache-populate)
+
+ ;; timers
(w/twitch-run-shoutout-timer)
(w/twitch-run-emote-frame-timer)
(w/run-model-timer)
(w/run-obs-timer)
(w/run-audio-record-end-timer)
- (w/populate-bible-table)
- ;; (w/user-cache-populate)
(w/run-banner-ad-timer)
-
+ (w/run-telemetry-timer)
+ (w/run-heartrate-timer)
+ (w/run-alert-message-timer)
(w/start-audio-record)
(w/start-chatsummary)
(w/start-fake-chatters)