No description
Find a file
2016-08-17 19:45:58 +02:00
cl-telegram-bot.asd fix asdf definition 2016-08-17 19:44:58 +02:00
cl-telegram-bot.lisp Use accessors for bot class slots (id & endpoint). 2016-08-14 13:29:07 +03:00
example.lisp first commit 2016-08-14 04:35:03 +02:00
LICENSE first commit 2016-08-14 04:35:03 +02:00
package.lisp first commit 2016-08-14 04:35:03 +02:00
README.md Update README.md 2016-08-14 16:06:39 +02:00

Telegram Bot API for Common Lisp

See the Telegram Bot API.

This library uses Drakma and CL-JSON with CLOS semantics.

This library has the following aliases: cl-telegram-bot, tl-bot, tg-bot, telegram-bot.

  • function (make-bot token) Returns a bot instance for a given token. To get a new token, see here.

  • function (access object &rest slot-list) Convenience function to access nested fields in a JSON object. Returns NIL if at least one slot is unbound. For example, to access update.message.from.id, you can use (access update 'message 'from 'id). This operation is linear in time, so I suggest keeping it at a minimum, reusing the fields multiple times, e.g. using a let*. You can use this function from any JSON field, so (access message 'from 'id) from a previously accessed message field should be used when many nested fields share a common parent.

  • function (decode json-object) Decode JSON object to CLOS object. Use to convert the return value of API calls when needed, e.g. (decode (send-message ...) returns an object ready to be used (by access, for example).

  • function (get-slot obj slot) Returns slot from obj, NIL if unbound. Use with JSON CLOS object.

  • error request-error Used (currently) by get-updates on HTTP error.

  • function (cl-telegram-bot::get-class-slots object) (SBCL only) Use this function to inspect JSON objects. For debugging only.

  • function (cl-telegram-bot::make-request b method-name options-alist) Make direct API request using Drakma. Use for debugging only.

  • function (get-updates bot &key limit timeout) Returns a vector of updates as CLOS objects.

    NOTE: The offset parameter is omitted as it is internally managed by the cl-telegram-bot:bot class.

API methods

NOTE: the keyword argument :reply_to_message_id from the official API was renamed to :reply in every function.