-
Register a new bot here: https://developer.webex.com/my-apps. You will need the bot name, bot email and token.
-
nodejs
-
typescript
-
clasp: https://developers.google.com/apps-script/guides/clasp
- Clone the repo
- Run
npm install
- Run
clasp login
- Run
clasp create --type standalone
- Edit the file
.clasp.json
by addingfilePushOrder
:
{
"scriptId": "...",
"filePushOrder": [
"Common.ts",
"RequestManager.ts",
"Store.ts",
"BotCache.ts",
"Constants.ts",
"Utils.ts"
]
}
-
Run
clasp push
. TypeYes
forManifest file has been updated. Do you want to push and overwrite?
-
Run
clasp open
and open the project link in the browser. -
In browser, open
Test.gs
file and run thetest
function to initialize a default config. -
Now deploy the first version of the script:
Publish
->Deploy as webapp...
-> ClickUpdate
. CopyWeb app URL
, it's yourwebAppHook
for the MainConfig. -
In browser, open
File
->Project Properties
->Script Properties
and copy the content of propertyConfig
. This config has to be updated inline per your needs. For convenience, you can edit it in your favourite JSON editor and then save the new value. Default config example:{"botName":"NotSpecified","botEmail":"NotSpecified","admins":["NotSpecified"],"botAuthToken":"NotSpecified","webAppHook":"NotSpecified","dailyReportTo":[],"managers":[],"dailyStatusRoomId":"NotSpecified","operationsRoomId":"NotSpecified","debugRoomId":"NotSpecified","helpPageUrl":"NotSpecified"}
The initial required params are:
botName
,botEmail
,botAuthToken
,webAppHook
.Suggestions:
- Read js docs in MainConfig.ts
-
Once you have all parameters filled in, open
Main.gs
file and run theBot_Init
function. -
Create a "Debug Room" space in the Webex and invite the bot into the space. Send bot a message by mentioning it, to see the help, example:
@mybot help
. You need to initialize the debug room first, run, example:@mybot init debug room
. This room will be used for Debug messages. -
To see the other commands, send, example:
@mybot help
.
To run functions, such as Bot_AskStatuses
, Bot_CheckStatuses
, on a regular basis, use the Google Apps Script triggers feature:
Some functions require additional permissions. Run a desired function manually to explicitly give it permissions (one time operation).
That's it!