» Telebot

…is a basic Chicken Scheme module to ease the development of Bots interfacing with the Telegram Bot API.

In this context basic means that the module currently consists of barely more than raw HTTP API calls hidden behind analogously named functions and JSON deserialization provided by the http-client respectively medea eggs.

The maintanance of these API wrappers is simplified by an appropriate Scheme macro that reduces the implementation of new API methods to basically slightly rewriting the documentation.

Telebot is available under the terms of the MIT license on Github and cgit.


All basic API wrappers are named the same as their method name and require the bot’s token as their first argument. Further parameters are expected as named key value pairs. Note that the library currently only verifies that all required parameters are supplied at all while type verification is left to Telegram’s server side logic.

(sendMessage token
             chat_id: chat_id
             text:    text)

All API wrappers return the raw deserialized JSON results as to not limit the options for further parsing unnecessarily.

The only non-API wrapper provided by this library is pollUpdates which enables passing updates acquired via long polling of getUpdates to an arbitrary function as follows:

(pollUpdates token
             (lambda (u)
               (begin (print-message u)
                      (echo-message  u))))