diff options
author | Adrian Kummerlaender | 2016-03-15 11:56:17 +0100 |
---|---|---|
committer | Adrian Kummerlaender | 2016-03-15 11:56:17 +0100 |
commit | 35611199093138ab8a35eee89aaf91fa41dbec34 (patch) | |
tree | b3f15de27b068d9182a5df8884beb40a820da6f3 | |
parent | 1c1825eee55ecb098e8b0ad6dba6bbaced7092cf (diff) | |
download | Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar.gz Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar.bz2 Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar.lz Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar.xz Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.tar.zst Telebot-35611199093138ab8a35eee89aaf91fa41dbec34.zip |
Add update type predicates
-rw-r--r-- | example/echo.scm | 5 | ||||
-rw-r--r-- | telebot.scm | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/example/echo.scm b/example/echo.scm index 7afd5ae..2e190a7 100644 --- a/example/echo.scm +++ b/example/echo.scm @@ -27,5 +27,6 @@ (telebot:pollUpdates token (lambda (u) - (begin (print-message u) - (echo-message u)))) + (if (telebot:is-message? u) + (begin (print-message u) + (echo-message u))))) diff --git a/telebot.scm b/telebot.scm index 5e95e1d..9465e52 100644 --- a/telebot.scm +++ b/telebot.scm @@ -12,6 +12,9 @@ sendChatAction getUserProfilePhotos getFile + is-message? + is-inline_query? + is-chosen_inline_result? pollUpdates) (import chicken scheme) (use srfi-1) @@ -156,6 +159,14 @@ ;;; framework + (define (update-predicate type) + (lambda (update) + (not (equal? #f (alist-ref type update))))) + + (define is-message? (update-predicate 'message)) + (define is-inline_query? (update-predicate 'inline_query)) + (define is-chosen_inline_result? (update-predicate 'chosen_inline_result)) + (define (pollUpdates token handler) (let ((offset 0)) (do-forever |