40ants-bots - Framework for build products around chat bots. Includes bot DSL and admin interface for interacting with bot users.
- Description: Framework for build products around chat bots. Includes bot
DSL
and admin interface for interacting with bot users. - Licence: Unlicense
- Author: Alexander Artemenko [email protected]
- Homepage: https://40ants.com/bots/
- Bug tracker: https://github.com/40ants/bots/issues
- Source control: GIT
- Depends on: 40ants-doc, alexandria, cl-telegram-bot2, dbd-postgres, mito, serapeum, sxql
You can install this library from Quicklisp, but you want to receive updates quickly, then install it from Ultralisp.org:
(ql-dist:install-dist "http://dist.ultralisp.org/"
:prompt nil)
(ql:quickload :40ants-bots)
TODO
: Write a library description. Put some examples here.
package 40ants-bots
class 40ants-bots:hello
()
Example class.
Readers
reader 40ants-bots:user-name
(hello) (:name)
generic-function 40ants-bots:say
obj
Say what should be said.
function 40ants-bots:make-hello
name
Makes hello world example
package 40ants-bots/api
function 40ants-bots/api:send-message
chat-or-user text &rest rest &key business-connection-id message-thread-id parse-mode entities link-preview-options disable-notification protect-content allow-paid-broadcast message-effect-id reply-parameters reply-markup
package 40ants-bots/bot
class 40ants-bots/bot:bot
()
package 40ants-bots/controllers/bot
function 40ants-bots/controllers/bot:get-current-bot
Возвращает инстанс текущего бота из переменной current-bot.
package 40ants-bots/controllers/chat
function 40ants-bots/controllers/chat:create-chat
platform platform-id &key (type :chat) raw
Создает новый чат в базе данных.
function 40ants-bots/controllers/chat:get-chat-by-id
id
Возвращает чат по его ID
.
function 40ants-bots/controllers/chat:get-chat-by-platform-id
platform platform-id &optional (type :chat)
Находит чат по platform, platform-id и type.
function 40ants-bots/controllers/chat:get-chat-title
chat
function 40ants-bots/controllers/chat:get-current-chat
Возвращает текущий активный чат из переменной current-chat.
function 40ants-bots/controllers/chat:get-or-create-chat
platform platform-id &key (type :chat) raw
Находит или создает чат по platform, platform-id и type.
function 40ants-bots/controllers/chat:get-private-chat
user
function 40ants-bots/controllers/chat:list-chats
&key (limit 100) (offset 0)
Возвращает список чатов с пагинацией.
package 40ants-bots/controllers/message
function 40ants-bots/controllers/message:create-message
platform platform-id chat user text &key raw (incomingp nil)
Создает новое сообщение в базе данных.
function 40ants-bots/controllers/message:get-message
id
Возвращает сообщение по его ID
.
function 40ants-bots/controllers/message:list-messages
&key (limit 100) (offset 0)
Возвращает список сообщений с пагинацией.
package 40ants-bots/controllers/payment
function 40ants-bots/controllers/payment:create-payment
platform chat user currency &key amount raw extra-info
Creates new payment.
function 40ants-bots/controllers/payment:get-payment-by-id
id
Returns payment by ID
.
function 40ants-bots/controllers/payment:move-payment-to-paid
payment &key amount raw
package 40ants-bots/controllers/user
function 40ants-bots/controllers/user:create-user
platform platform-id username raw
function 40ants-bots/controllers/user:get-current-user
function 40ants-bots/controllers/user:get-or-create-user
platform platform-id username raw
function 40ants-bots/controllers/user:get-user
platform platform-id
package 40ants-bots/db/utils
function 40ants-bots/db/utils:hash-from-db
value
function 40ants-bots/db/utils:hash-to-db
value
function 40ants-bots/db/utils:keyword-from-db
value
function 40ants-bots/db/utils:keyword-to-db
value
package 40ants-bots/generics
generic-function 40ants-bots/generics:on-success-payment
bot payment
Called when platform sends an approve of successful payment.
First argument will be a platform dependent bot instance,
the second instance will be a mito dao object of 40ANTS-BOTS/MODELS/PAYMENT:PAYMENT
type.
The end user must define a method to process successul payments.
package 40ants-bots/models/chat
class 40ants-bots/models/chat:chat
(serial-pk-mixin dao-class record-timestamps-mixin)
Readers
reader 40ants-bots/models/chat:chat-platform
(chat) (:platform)
reader 40ants-bots/models/chat:chat-platform-id
(chat) (:platform-id)
reader 40ants-bots/models/chat:chat-raw
(chat) (:raw)
reader 40ants-bots/models/chat:chat-type
(chat) (:type = :chat)
Accessors
accessor 40ants-bots/models/chat:chat-platform
(chat) (:platform)
accessor 40ants-bots/models/chat:chat-platform-id
(chat) (:platform-id)
accessor 40ants-bots/models/chat:chat-raw
(chat) (:raw)
accessor 40ants-bots/models/chat:chat-type
(chat) (:type = :chat)
package 40ants-bots/models/feedback
class 40ants-bots/models/feedback:feedback
(serial-pk-mixin dao-class record-timestamps-mixin)
Readers
Accessors
package 40ants-bots/models/message
class 40ants-bots/models/message:message
(serial-pk-mixin dao-class record-timestamps-mixin)
Readers
reader 40ants-bots/models/message:message-chat
(message) (:chat)
reader 40ants-bots/models/message:message-chat-id
(message) (:chat-id)
reader 40ants-bots/models/message:message-incoming
(message) (:incoming :incomingp)
reader 40ants-bots/models/message:message-platform
(message) (:platform)
reader 40ants-bots/models/message:message-platform-id
(message) (:platform-id)
reader 40ants-bots/models/message:message-raw
(message) (:raw)
reader 40ants-bots/models/message:message-text
(message) (:text)
reader 40ants-bots/models/message:message-user
(message) (:user)
reader 40ants-bots/models/message:message-user-id
(message) (:user-id)
Accessors
accessor 40ants-bots/models/message:message-chat
(message) (:chat)
accessor 40ants-bots/models/message:message-chat-id
(message) (:chat-id)
accessor 40ants-bots/models/message:message-incoming
(message) (:incoming :incomingp)
accessor 40ants-bots/models/message:message-platform
(message) (:platform)
accessor 40ants-bots/models/message:message-platform-id
(message) (:platform-id)
accessor 40ants-bots/models/message:message-raw
(message) (:raw)
accessor 40ants-bots/models/message:message-text
(message) (:text)
accessor 40ants-bots/models/message:message-user
(message) (:user)
accessor 40ants-bots/models/message:message-user-id
(message) (:user-id)
package 40ants-bots/models/payment
class 40ants-bots/models/payment:payment
(serial-pk-mixin dao-class record-timestamps-mixin)
Readers
reader 40ants-bots/models/payment:payment-amount
(payment) (:amount)
reader 40ants-bots/models/payment:payment-currency
(payment) (:currency)
reader 40ants-bots/models/payment:payment-extra-info
(payment) (:extra-info)
reader 40ants-bots/models/payment:payment-platform
(payment) (:platform)
reader 40ants-bots/models/payment:payment-raw
(payment) (:raw)
reader 40ants-bots/models/payment:payment-state
(payment) (:state)
Accessors
accessor 40ants-bots/models/payment:payment-amount
(payment) (:amount)
accessor 40ants-bots/models/payment:payment-currency
(payment) (:currency)
accessor 40ants-bots/models/payment:payment-extra-info
(payment) (:extra-info)
accessor 40ants-bots/models/payment:payment-platform
(payment) (:platform)
accessor 40ants-bots/models/payment:payment-raw
(payment) (:raw)
accessor 40ants-bots/models/payment:payment-state
(payment) (:state)
package 40ants-bots/models/user
class 40ants-bots/models/user:user
(serial-pk-mixin dao-class record-timestamps-mixin)
Readers
reader 40ants-bots/models/user:user-platform
(user) (:platform)
reader 40ants-bots/models/user:user-platform-id
(user) (:platform-id)
reader 40ants-bots/models/user:user-raw
(user) (:raw)
reader 40ants-bots/models/user:user-username
(user) (:username)
Accessors