cl-telegram-bot/README.md
2016-08-14 05:14:17 +02:00

5.6 KiB

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. 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 is 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)

    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.