| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- (in-package #:chatikbot)
- (defparameter *fuck-off*
- '((отъебись) (мне похуй) (ебаный ты нахуй!))
- "Fuck-off responses")
- (defun goto-p (input) (member input '(иди пошел вали)))
- (defun prep-p (i) (member i '(в на)))
- (defun dirty-p (i) (member i '(лох хуй мудак ебалай пидор сука уебок мудило еблан говнюк уебище ебантяй пидрила)))
- (defparameter *huiza-rules*
- `(
- (((?is ?g goto-p) (?is ?prep prep-p) (?* ?х))
- (а самому не пойти ?prep ?х ?) (мамку свою посылай ?prep ?х) (покомандуй тут еще) ,@*fuck-off*)
- (((?is ?g goto-p) (?* ?x))
- (сам иди ?x) (покомандуй тут еще) ,@*fuck-off*)
- (((?* ?a) ты (?* ?x))
- (сам ?x) (сам ты ?x) (а по ебалу?) (сейчас мы разберемся кто еще тут ?x) ,@*fuck-off*)
- (((?is ?x dirty-p))
- (сам ?x) (сам ты ?x) (а по ебалу?) (сейчас мы разберемся кто еще тут ?x))
- (((?* ?a) (?or хуита хуета хуйня лажа говно бред) (?* ?b))
- ("вам, сударь," не угодить) (и что?) (бывает) (мопед не мой) (сам получше придумывай) ,@*fuck-off*)
- (((?* ?a) (?or норм хорошо молодец ниплохо ниплоха ниеплоха) (?* ?b))
- (спасибо) (я старался) (как себе) ,@*fuck-off*)
- (((?or спасибо) (?* ?x))
- (всё для вас) (пожалуйста) (на здоровье) ,@*fuck-off*)
- (((?* ?x) (?or уровень) (?* ?y))
- (в жопу себе его засунь) (хуюровень) ,@*fuck-off*)
- (((?* ?a) (?is ?x ,(lambda (i) (and (symbolp i) (search "ХАХА" (symbol-name i))))) (?* ?b))
- (очень смешно) (клоунов тут нашел?) (посмейся мне еще) ,@*fuck-off*)
- (((?* x))
- (:text . "И чё?")
- (:text . "Сам-то понял?")
- (:text . "Ну хуй знает")
- (:text . "Бля...")
- (:text . "В душе не ебу")
- (:text . "Мне похуй")
- (:text . "Eбаный ты нахуй")
- (:text . "Отъебись")
- (:sticker . "BQADAgADFAADOoERAAGoLKS_Vgs6GgI") ;; ЭЭ епта Чо
- (:sticker . "BQADAgADGQADOoERAAFDXJisD4fClgI") ;; Ну чё ты несёшь
- (:sticker . "BQADAgADFwADOoERAAHCw-fBiFjACgI") ;; А у меня собака, я не могу
- (:sticker . "BQADAgADEgADOoERAAFtU3uF9HvtQgI") ;; Бухнём?
- (:sticker . "BQADBAADQAEAAnscSQABqWydSKTnASoC"))))
- (defun send-dont-understand (chat-id &optional text reply-id)
- (let ((resp (eliza text *huiza-rules*)))
- (log:info text resp)
- (when resp
- (send-response chat-id resp reply-id))))
- (defun handle-unknown-message (message)
- (let ((chat-id (aget "id" (aget "chat" message)))
- (text (aget "text" message)))
- (log:info "handle-unknown-message" message)
- (send-dont-understand chat-id (preprocess-input text))
- t))
- (add-hook :update-message 'handle-unknown-message t)
|