Procházet zdrojové kódy

adapt bot for fridach

Vyacheslav Shebanov před 5 roky
rodič
revize
00807c529d
1 změnil soubory, kde provedl 6 přidání a 5 odebrání
  1. 6 5
      plugins/aoc.lisp

+ 6 - 5
plugins/aoc.lisp

@@ -3,9 +3,10 @@
   (:use :cl :chatikbot.common))
 (in-package :chatikbot.plugins.aoc)
 
-(defparameter +api-uri+ "https://adventofcode.com/2020/leaderboard/private/view/24158.json")
-(defparameter +leader-board-link+ "https://adventofcode.com/2020/leaderboard/private/view/24158")
+(defparameter +api-uri+ "https://adventofcode.com/2020/leaderboard/private/view/657296.json")
+(defparameter +leader-board-link+ "https://adventofcode.com/2020/leaderboard/private/view/657296")
 (defparameter +advent-time+ (encode-universal-time 0 0 8 25 12 2020 -3))
+(defparameter +max-people+ 15)
 
 (defmethod poller-request ((module (eql :aoc)) method &rest params)
   (declare (ignorable params))
@@ -38,12 +39,12 @@
                           collect (case stars (1 "☆") (2 "★") (t " • ")))))
 
 (defun format-leaderboard (json)
-  (let ((sorted (sort (loop for (uid . member) in (agets json "members")
+  (let ((sorted (sort (loop for (uid . member) in (subseq (agets json "members") 0 +max-people+)
                          collect (list (agets member "name")
                                        (agets member "local_score")
                                        (format-stars (agets member "completion_day_level"))))
                       #'> :key #'second)))
-    (format nil "🏆***Chad AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" +leader-board-link+
+    (format nil "🏆***Fridach AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" +leader-board-link+
             (apply 'append (mapcar #'cons (alexandria:iota (length sorted) :start 1) sorted)))))
 
 (defun handle-leaderboard ()
@@ -56,7 +57,7 @@
 
 (defun format-completion-state-change (diff)
   (format nil "Обновился лидерборд 🏆***AoC*** 🏆~%~a~%~{~a!~^~%~}" +leader-board-link+ (loop for (uid name daynum completed) in diff
-                           collect (format nil "***~a*** ебнул ~a задачку ~a дня" name completed daynum))))
+                           collect (format nil "***~a*** сделал(а) ~a задачку ~a дня" name completed daynum))))
 
 (defcron process-aoc (:minute '(member 0 15 30 45))
   (poller-poll-lists :aoc