About
WORK IN PROGRESS
Reference implementation of:
FTN22: FutoIn Interface - Message Bot
Version: 0.x
Author: Andrey Galkin
Installation for Node.js
Command line:
$ npm install @futoin/msgbot --save
API documentation
Classes
- CommandRouterFace
-
FTN22: Command Router Face
- CommandRouterService
-
Command Router Service
- PushHandlerFace
-
FTN22: Push Handler Face
- PushHandlerService
-
Push Handler Service base
- PushRouterService
-
Push Router Service base
- ReactHandlerFace
-
FTN22: React Handler Face
- ReactHandlerService
-
React Handler Service base
- ServerFace
-
FTN22: Server Face
- ServerHelpers
-
FTN22: Server-specific helpers
- ServerService
-
Server Service
- ServiceApp
-
Basic bot service app.
Actual bot implementation is expected to inherit this class and override registration functions.
- BaseFace
-
Base Face with neutral common registration functionality
- BaseService
-
Base Service with common registration logic
CommandRouterFace
FTN22: Command Router Face
CommandRouterService
Command Router Service
new CommandRouterService(options)
C-tor
Param | Type | Description |
---|---|---|
options | object |
passed to superclass c-tor |
PushHandlerFace
FTN22: Push Handler Face
PushHandlerService
Push Handler Service base
PushRouterService
Push Router Service base
ReactHandlerFace
FTN22: React Handler Face
ReactHandlerService
React Handler Service base
ServerFace
FTN22: Server Face
Kind: global class
serverFace.getFlavour(asi)
Get type of database
Kind: instance method of ServerFace
Param | Type | Description |
---|---|---|
asi | AsyncSteps |
steps interface |
ServerHelpers
serverFace.helpers() ⇒ Get native server helpers
Kind: instance method of ServerFace
Returns: ServerHelpers
- - driver implementation
serverFace.systemIface()
Get native message system interface implementation
Kind: instance method of ServerFace
ServerFace.register(asi, ccm, name, endpoint, [credentials], [options])
CCM registration helper
Kind: static method of ServerFace
Param | Type | Default | Description |
---|---|---|---|
asi | AsyncSteps |
steps interface | |
ccm | AdvancedCCM |
CCM instance | |
name | string |
CCM registration name | |
endpoint | * |
see AdvancedCCM#register | |
[credentials] | * |
|
see AdvancedCCM#register |
[options] | object |
{} |
interface options |
[options.version] | string |
"<latest>" |
interface version to use |
ServerHelpers
FTN22: Server-specific helpers
Kind: global class
-
ServerHelpers
-
instance
-
.bold(str) ⇒
string
-
.italic(str) ⇒
string
-
.color(str, hexcolor) ⇒
string
-
.imgUrl(url) ⇒
string
-
.emoji(name) ⇒
string
-
.line() ⇒
string
-
.menion(ext_id) ⇒
string
-
.bold(str) ⇒
- static
-
instance
string
serverHelpers.bold(str) ⇒ Get bold text
Kind: instance method of ServerHelpers
Returns: string
- bold output
Param | Type | Description |
---|---|---|
str | string |
input |
string
serverHelpers.italic(str) ⇒ Get italic text
Kind: instance method of ServerHelpers
Returns: string
- italic output
Param | Type | Description |
---|---|---|
str | string |
input |
string
serverHelpers.color(str, hexcolor) ⇒ Get colored text
Kind: instance method of ServerHelpers
Returns: string
- colored output
Param | Type | Description |
---|---|---|
str | string |
input |
hexcolor | string |
color code |
string
serverHelpers.imgUrl(url) ⇒ Get image URL embedded into text
Kind: instance method of ServerHelpers
Returns: string
- URL output
Param | Type | Description |
---|---|---|
url | string |
input |
string
serverHelpers.emoji(name) ⇒ Get emoji embedded into text
Kind: instance method of ServerHelpers
Returns: string
- emoji output
Param | Type | Description |
---|---|---|
name | string |
input |
string
serverHelpers.line() ⇒ Get new line
Kind: instance method of ServerHelpers
Returns: string
- new line
string
serverHelpers.menion(ext_id) ⇒ Get actor mention into text
Kind: instance method of ServerHelpers
Returns: string
- mention output
Param | Type | Description |
---|---|---|
ext_id | string |
input actor ID |
ServerHelpers.setDriver(flavour, impl)
Add native helper driver
Kind: static method of ServerHelpers
Param | Type | Description |
---|---|---|
flavour | string |
system flavour |
impl | ServerHelpers |
driver implementation |
ServerHelpers
ServerHelpers.getDriver(flavour) ⇒ Get native helper driver
Kind: static method of ServerHelpers
Returns: ServerHelpers
- driver implementation
Param | Type | Description |
---|---|---|
flavour | string |
system flavour |
ServerService
Server Service
ServiceApp
Basic bot service app.
Actual bot implementation is expected to inherit this class and override registration functions.
Kind: global class
-
ServiceApp
- new ServiceApp(asi, options)
-
.ccm() ⇒
AdvancedCCM
-
.executor() ⇒
Executor
- .close([done])
-
.newExecutor() ⇒
Executor
- ._register_logsvc(asi, options)
- ._register_handlers(asi, options)
- ._register_servers(asi, options)
new ServiceApp(asi, options)
C-tor
Param | Type | Default | Description |
---|---|---|---|
asi | AsyncSteps |
AsyncSteps interface | |
options | object |
{} |
options |
[options.ccm] | AdvancedCCM |
external CCM instance | |
[options.executor] | Executor |
external executor instance | |
[options.ccmOptions] | object |
auto-CCM options | |
[options.notExpectedHandler] | callable |
'notExpected' error handler | |
[options.executorOptions] | object |
private auto-Executor options |
AdvancedCCM
serviceApp.ccm() ⇒ CCM instance accessor
Kind: instance method of ServiceApp
Returns: AdvancedCCM
- instance
Executor
serviceApp.executor() ⇒ Executor instance accessor
Kind: instance method of ServiceApp
Returns: Executor
- instance
serviceApp.close([done])
Shutdown of app and related instances
Kind: instance method of ServiceApp
Param | Type | Default | Description |
---|---|---|---|
[done] | callable |
|
done callback |
Executor
serviceApp.newExecutor() ⇒ Create an instance of executor which is useful to register services.
Kind: instance method of ServiceApp
Returns: Executor
- instance
serviceApp._register_logsvc(asi, options)
Override to register custom log service
Kind: instance abstract method of ServiceApp
Param | Type | Default | Description |
---|---|---|---|
asi | AsyncSteps |
AsyncSteps interface | |
options | object |
{} |
options |
serviceApp._register_handlers(asi, options)
Override to register custom business logic.
Kind: instance abstract method of ServiceApp
Param | Type | Default | Description |
---|---|---|---|
asi | AsyncSteps |
AsyncSteps interface | |
options | object |
{} |
options |
serviceApp._register_servers(asi, options)
Override to register servers.
Kind: instance abstract method of ServiceApp
Param | Type | Default | Description |
---|---|---|---|
asi | AsyncSteps |
AsyncSteps interface | |
options | object |
{} |
options |
BaseFace
Base Face with neutral common registration functionality
Kind: global class
Note: Not official API
BaseFace.LATEST_VERSION
Latest supported FTN13 version
Kind: static property of BaseFace
BaseFace.PING_VERSION
Latest supported FTN4 version
Kind: static property of BaseFace
BaseFace.register(as, ccm, name, endpoint, [credentials], [options])
CCM registration helper
Kind: static method of BaseFace
Param | Type | Default | Description |
---|---|---|---|
as | AsyncSteps |
steps interface | |
ccm | AdvancedCCM |
CCM instance | |
name | string |
CCM registration name | |
endpoint | * |
see AdvancedCCM#register | |
[credentials] | * |
|
see AdvancedCCM#register |
[options] | object |
{} |
interface options |
[options.version] | string |
"1.0" |
interface version to use |
BaseService
Base Service with common registration logic
Kind: global class
new BaseService(options)
C-tor
Param | Type | Description |
---|---|---|
options | object |
passed to superclass c-tor |
BaseService
BaseService.register(as, executor, options) ⇒ Register Service with Executor
Kind: static method of BaseService
Returns: BaseService
- instance
Param | Type | Description |
---|---|---|
as | AsyncSteps |
steps interface |
executor | Executor |
executor instance |
options | object |
implementation defined options |
documented by jsdoc-to-markdown.