Commit 27f7bd41 authored by Tim Kinnane's avatar Tim Kinnane

feat(driver): Add missing env variables from adapter

- Fixes #7
- Use `ROCKETCHAT_USER` and `ROCKETCHAT_PASSWORD` for default credentials
- Use `ROCKETCHAT_ROOM` for default room joins
- Use `ROCKETCHAT_USESSL` to force SSL
- `respondToMessages` now auto-joins rooms if not yet joined
- Fix some interface / schema errors
- Add pre-test checks for instance readiness
- Add tests for all of the above
parent 43b9aebe
......@@ -13,8 +13,7 @@
},
"coverage-gutters.showGutterCoverage": true,
"eslint.packageManager": "yarn",
"cSpell.words": [
"groupable",
"msgs"
]
"search.exclude": {
"**/dist": true
}
}
\ No newline at end of file
......@@ -416,25 +416,34 @@ rocketchat.driver.connect({ host: 'localhost:3000' }, function (err, asteroid) {
| Env var | Description |
| ---------------------- | ----------------------------------------------------- |
| `ROCKETCHAT_URL` | URL of the Rocket.Chat to connect to |
| `ROCKETCHAT_URL`* | URL of the Rocket.Chat to connect to |
| `ROCKETCHAT_USER`* | Username for bot account login |
| `ROCKETCHAT_PASSWORD`* | Password for bot account login |
| `ROCKETCHAT_AUTH` | Set to 'ldap' to enable LDAP login |
| `ADMIN_USERNAME` | Admin user password for API |
| `ADMIN_PASS` | Admin user password for API |
| `ROCKETCHAT_USER` | User password for SDK tests |
| `ROCKETCHAT_PASS` | Pass username for SDK tests |
| `ROCKETCHAT_USE_SSL` | Force bot to connect with SSL |
| `ROCKETCHAT_ROOM` | Respond listens in the named channel/s (can be csv) |
| `LISTEN_ON_ALL_PUBLIC` | true/false, respond listens in all public channels |
| `RESPOND_TO_LIVECHAT` | true/false, respond listens in livechat |
| `RESPOND_TO_DM` | true/false, respond listens to DMs with bot |
| `RESPOND_TO_EDITED` | true/false, respond listens to edited messages |
| `INTEGRATION_ID` | ID applied to message object to integration source |
| **Advanced configs** | |
| `ROOM_CACHE_SIZE` | Size of cache (LRU) for room (ID or name) lookups |
| `ROOM_CACHE_MAX_AGE` | Max age of cache for room lookups |
| `DM_ROOM_CACHE_SIZE` | Size of cache for Direct Message room lookups |
| `DM_ROOM_CACHE_MAX_AGE`| Max age of cache for DM lookups |
| `LISTEN_ON_ALL_PUBLIC` | true/false, respond listens in all public channels |
| `RESPOND_TO_LIVECHAT` | true/false, respond listens in livechat |
| `RESPOND_TO_DM` | true/false, respond listens to DMs with bot |
| `RESPOND_TO_EDITED` | true/false, respond listens to edited messages |
| **Test configs** | |
| `ADMIN_USERNAME` | Admin user password for API |
| `ADMIN_PASS` | Admin user password for API |
These are only required in test and development, assuming in production they
will be passed from the adapter implementing this package.
`ROCKETCHAT_ROOM` should be set to empty (with `ROCKETCHAT_ROOM=''`) when using
`LISTEN_ON_ALL_PUBLIC`. This option also allows the bot to listen and respond to
messages _from all newly created private groups_ where the bot's user has been
added as a member.
### Installing Rocket.Chat
Clone and run a new instance of Rocket.Chat locally, using either the internal
......
TN:
SF:/Volumes/x/code/Rocket.Chat.js.SDK/src/lib/driver.ts
SF:/Volumes/x/code/rocketchat/Rocket.Chat.js.SDK/src/lib/driver.ts
FN:36,connectDefaults
FN:45,respondDefaults
FN:98,useLog
FN:119,connect
FN:120,(anonymous_12)
FN:133,(anonymous_13)
FN:134,(anonymous_14)
FN:136,(anonymous_15)
FN:142,(anonymous_16)
FN:155,disconnect
FN:158,(anonymous_18)
FN:168,setupMethodCache
FN:189,asyncCall
FN:193,(anonymous_21)
FN:197,(anonymous_22)
FN:210,callMethod
FN:221,cacheCall
FN:223,(anonymous_25)
FN:227,(anonymous_26)
FN:239,login
FN:254,(anonymous_28)
FN:258,(anonymous_29)
FN:265,logout
FN:266,(anonymous_31)
FN:277,subscribe
FN:278,(anonymous_33)
FN:282,(anonymous_34)
FN:304,unsubscribe
FN:314,unsubscribeAll
FN:315,(anonymous_37)
FN:322,subscribeToMessages
FN:324,(anonymous_39)
FN:344,reactToMessages
FN:346,(anonymous_41)
FN:371,respondToMessages
FN:374,(anonymous_43)
FN:374,(anonymous_44)
FN:446,getRoomId
FN:451,getRoomName
FN:460,getDirectMessageRoomId
FN:461,(anonymous_48)
FN:465,joinRoom
FN:466,(anonymous_50)
FN:470,joinRooms
FN:471,(anonymous_52)
FN:478,prepareMessage
FN:488,sendMessage
FN:497,sendToRoomId
FN:501,(anonymous_56)
FN:512,sendToRoom
FN:513,(anonymous_58)
FN:521,sendDirectToUser
FN:522,(anonymous_60)
FNF:53
FNH:35
FNDA:20,connectDefaults
FNDA:10,respondDefaults
FN:47,respondDefaults
FN:50,(anonymous_10)
FN:108,useLog
FN:129,connect
FN:130,(anonymous_13)
FN:143,(anonymous_14)
FN:144,(anonymous_15)
FN:146,(anonymous_16)
FN:157,(anonymous_17)
FN:171,disconnect
FN:174,(anonymous_19)
FN:184,setupMethodCache
FN:205,asyncCall
FN:209,(anonymous_22)
FN:213,(anonymous_23)
FN:226,callMethod
FN:237,cacheCall
FN:239,(anonymous_26)
FN:243,(anonymous_27)
FN:255,login
FN:272,(anonymous_29)
FN:276,(anonymous_30)
FN:283,logout
FN:284,(anonymous_32)
FN:295,subscribe
FN:296,(anonymous_34)
FN:300,(anonymous_35)
FN:322,unsubscribe
FN:332,unsubscribeAll
FN:333,(anonymous_38)
FN:340,subscribeToMessages
FN:342,(anonymous_40)
FN:373,reactToMessages
FN:376,(anonymous_42)
FN:401,respondToMessages
FN:413,(anonymous_44)
FN:419,(anonymous_45)
FN:419,(anonymous_46)
FN:492,getRoomId
FN:497,getRoomName
FN:506,getDirectMessageRoomId
FN:507,(anonymous_50)
FN:511,joinRoom
FN:523,leaveRoom
FN:535,joinRooms
FN:536,(anonymous_56)
FN:543,prepareMessage
FN:553,sendMessage
FN:562,sendToRoomId
FN:566,(anonymous_60)
FN:577,sendToRoom
FN:578,(anonymous_62)
FN:586,sendDirectToUser
FN:587,(anonymous_64)
FNF:55
FNH:40
FNDA:36,connectDefaults
FNDA:12,respondDefaults
FNDA:21,(anonymous_10)
FNDA:0,useLog
FNDA:20,connect
FNDA:20,(anonymous_12)
FNDA:20,(anonymous_13)
FNDA:0,(anonymous_14)
FNDA:31,connect
FNDA:31,(anonymous_13)
FNDA:27,(anonymous_14)
FNDA:0,(anonymous_15)
FNDA:20,(anonymous_16)
FNDA:4,(anonymous_16)
FNDA:27,(anonymous_17)
FNDA:0,disconnect
FNDA:0,(anonymous_18)
FNDA:20,setupMethodCache
FNDA:10,asyncCall
FNDA:0,(anonymous_21)
FNDA:10,(anonymous_22)
FNDA:0,(anonymous_19)
FNDA:31,setupMethodCache
FNDA:14,asyncCall
FNDA:0,(anonymous_22)
FNDA:14,(anonymous_23)
FNDA:0,callMethod
FNDA:9,cacheCall
FNDA:0,(anonymous_25)
FNDA:9,(anonymous_26)
FNDA:20,login
FNDA:20,(anonymous_28)
FNDA:0,(anonymous_29)
FNDA:13,cacheCall
FNDA:0,(anonymous_26)
FNDA:13,(anonymous_27)
FNDA:22,login
FNDA:22,(anonymous_29)
FNDA:0,(anonymous_30)
FNDA:0,logout
FNDA:0,(anonymous_31)
FNDA:17,subscribe
FNDA:17,(anonymous_33)
FNDA:17,(anonymous_34)
FNDA:0,(anonymous_32)
FNDA:18,subscribe
FNDA:18,(anonymous_34)
FNDA:18,(anonymous_35)
FNDA:0,unsubscribe
FNDA:0,unsubscribeAll
FNDA:0,(anonymous_37)
FNDA:17,subscribeToMessages
FNDA:17,(anonymous_39)
FNDA:10,reactToMessages
FNDA:83,(anonymous_41)
FNDA:8,respondToMessages
FNDA:13,(anonymous_43)
FNDA:13,(anonymous_44)
FNDA:2,getRoomId
FNDA:0,(anonymous_38)
FNDA:18,subscribeToMessages
FNDA:18,(anonymous_40)
FNDA:11,reactToMessages
FNDA:93,(anonymous_42)
FNDA:9,respondToMessages
FNDA:0,(anonymous_44)
FNDA:15,(anonymous_45)
FNDA:15,(anonymous_46)
FNDA:6,getRoomId
FNDA:5,getRoomName
FNDA:2,getDirectMessageRoomId
FNDA:2,(anonymous_48)
FNDA:0,joinRoom
FNDA:0,(anonymous_50)
FNDA:0,joinRooms
FNDA:0,(anonymous_52)
FNDA:2,(anonymous_50)
FNDA:4,joinRoom
FNDA:0,leaveRoom
FNDA:2,joinRooms
FNDA:4,(anonymous_56)
FNDA:10,prepareMessage
FNDA:10,sendMessage
FNDA:7,sendToRoomId
FNDA:6,(anonymous_56)
FNDA:6,(anonymous_60)
FNDA:2,sendToRoom
FNDA:2,(anonymous_58)
FNDA:2,(anonymous_62)
FNDA:2,sendDirectToUser
FNDA:2,(anonymous_60)
FNDA:2,(anonymous_64)
DA:1,1
DA:2,1
DA:10,1
......@@ -116,247 +120,296 @@ DA:15,1
DA:18,1
DA:19,1
DA:36,1
DA:37,20
DA:45,1
DA:46,10
DA:62,1
DA:71,1
DA:83,1
DA:37,36
DA:47,1
DA:48,12
DA:50,21
DA:67,1
DA:76,1
DA:88,1
DA:98,1
DA:99,0
DA:119,1
DA:120,20
DA:121,20
DA:122,20
DA:123,20
DA:124,20
DA:132,20
DA:133,20
DA:134,20
DA:136,20
DA:137,0
DA:139,0
DA:140,0
DA:142,20
DA:143,20
DA:145,20
DA:146,20
DA:147,20
DA:155,1
DA:156,0
DA:157,0
DA:158,0
DA:169,20
DA:170,20
DA:178,20
DA:189,1
DA:190,10
DA:191,10
DA:192,10
DA:194,0
DA:195,0
DA:198,10
DA:201,10
DA:210,1
DA:108,1
DA:109,0
DA:129,1
DA:130,31
DA:131,31
DA:132,31
DA:133,31
DA:134,31
DA:142,31
DA:143,31
DA:144,31
DA:145,31
DA:146,31
DA:147,4
DA:148,4
DA:149,4
DA:150,4
DA:151,4
DA:156,31
DA:157,31
DA:158,27
DA:160,27
DA:161,27
DA:162,27
DA:171,1
DA:172,0
DA:173,0
DA:174,0
DA:185,31
DA:186,31
DA:194,31
DA:205,1
DA:206,14
DA:207,14
DA:208,14
DA:210,0
DA:211,0
DA:221,1
DA:222,9
DA:224,0
DA:225,0
DA:228,9
DA:231,9
DA:239,1
DA:240,20
DA:242,20
DA:243,0
DA:248,0
DA:250,20
DA:251,20
DA:253,20
DA:255,20
DA:256,20
DA:259,0
DA:260,0
DA:265,1
DA:266,0
DA:267,0
DA:268,0
DA:277,1
DA:278,17
DA:279,17
DA:280,17
DA:281,17
DA:282,17
DA:283,17
DA:284,17
DA:304,1
DA:305,0
DA:306,0
DA:307,0
DA:309,0
DA:310,0
DA:314,1
DA:315,0
DA:214,14
DA:217,14
DA:226,1
DA:227,0
DA:237,1
DA:238,13
DA:240,0
DA:241,0
DA:244,13
DA:247,13
DA:255,1
DA:257,22
DA:258,0
DA:263,0
DA:264,0
DA:266,22
DA:267,22
DA:268,22
DA:269,22
DA:271,22
DA:273,22
DA:274,22
DA:277,0
DA:278,0
DA:283,1
DA:284,0
DA:285,0
DA:286,0
DA:295,1
DA:296,18
DA:297,18
DA:298,18
DA:299,18
DA:300,18
DA:301,18
DA:302,18
DA:322,1
DA:323,17
DA:325,17
DA:328,17
DA:344,1
DA:345,10
DA:346,10
DA:347,83
DA:348,83
DA:349,83
DA:350,83
DA:351,26
DA:352,26
DA:354,57
DA:357,0
DA:371,1
DA:372,8
DA:373,8
DA:374,13
DA:375,13
DA:376,0
DA:377,0
DA:381,13
DA:384,12
DA:385,12
DA:388,11
DA:389,11
DA:392,11
DA:395,11
DA:400,11
DA:323,0
DA:324,0
DA:325,0
DA:327,0
DA:328,0
DA:332,1
DA:333,0
DA:340,1
DA:341,18
DA:343,18
DA:346,18
DA:373,1
DA:374,11
DA:376,11
DA:377,93
DA:378,93
DA:379,93
DA:380,93
DA:381,28
DA:382,28
DA:384,65
DA:387,0
DA:401,1
DA:402,1
DA:406,11
DA:409,5
DA:410,5
DA:411,5
DA:414,5
DA:417,5
DA:402,9
DA:403,9
DA:407,9
DA:413,1
DA:414,0
DA:418,9
DA:419,15
DA:420,15
DA:421,0
DA:422,0
DA:426,15
DA:429,14
DA:430,14
DA:433,13
DA:434,13
DA:437,13
DA:440,13
DA:445,13
DA:446,1
DA:447,2
DA:451,1
DA:452,5
DA:460,1
DA:461,2
DA:465,1
DA:466,0
DA:470,1
DA:471,0
DA:478,1
DA:479,10
DA:480,10
DA:481,10
DA:488,1
DA:489,10
DA:447,1
DA:451,13
DA:454,5
DA:455,5
DA:456,5
DA:459,5
DA:462,5
DA:464,9
DA:492,1
DA:493,6
DA:497,1
DA:498,7
DA:499,4
DA:501,3
DA:502,6
DA:512,1
DA:513,2
DA:521,1
DA:522,2
LF:152
LH:122
BRDA:38,0,0,20
BRDA:38,0,1,0
BRDA:39,1,0,20
BRDA:39,1,1,0
BRDA:47,2,0,10
BRDA:47,2,1,9
BRDA:48,3,0,10
BRDA:48,3,1,9
BRDA:49,4,0,10
BRDA:49,4,1,9
BRDA:50,5,0,10
BRDA:50,5,1,9
BRDA:62,6,0,1
BRDA:62,6,1,1
BRDA:119,7,0,20
BRDA:140,8,0,0
BRDA:140,8,1,0
BRDA:146,9,0,0
BRDA:146,9,1,20
BRDA:171,10,0,20
BRDA:171,10,1,20
BRDA:172,11,0,20
BRDA:172,11,1,20
BRDA:175,12,0,20
BRDA:175,12,1,20
BRDA:176,13,0,20
BRDA:176,13,1,20
BRDA:179,14,0,20
BRDA:179,14,1,20
BRDA:180,15,0,20
BRDA:180,15,1,20
BRDA:190,16,0,10
BRDA:190,16,1,0
BRDA:199,17,0,10
BRDA:199,17,1,0
BRDA:212,18,0,0
BRDA:212,18,1,0
BRDA:229,19,0,8
BRDA:229,19,1,1
BRDA:240,20,0,20
BRDA:240,20,1,0
BRDA:242,21,0,0
BRDA:242,21,1,20
BRDA:250,22,0,20
BRDA:250,22,1,0
BRDA:250,22,2,0
BRDA:306,23,0,0
BRDA:306,23,1,0
BRDA:348,24,0,83
BRDA:348,24,1,0
BRDA:348,25,0,83
BRDA:348,25,1,83
BRDA:350,26,0,26
BRDA:350,26,1,57
BRDA:371,27,0,4
BRDA:375,28,0,0
BRDA:375,28,1,13
BRDA:381,29,0,1
BRDA:381,29,1,12
BRDA:385,30,0,1
BRDA:385,30,1,11
BRDA:385,31,0,12
BRDA:385,31,1,3
BRDA:389,32,0,0
BRDA:389,32,1,11
BRDA:389,33,0,11
BRDA:389,33,1,0
BRDA:392,34,0,0
BRDA:392,34,1,11
BRDA:392,35,0,11
BRDA:392,35,1,11
BRDA:392,35,2,9
BRDA:400,36,0,1
BRDA:400,36,1,10
BRDA:400,37,0,11
BRDA:400,37,1,1
BRDA:402,38,0,1
BRDA:402,38,1,0
BRDA:406,39,0,6
BRDA:406,39,1,5
BRDA:410,40,0,0
BRDA:410,40,1,5
BRDA:414,41,0,3
BRDA:414,41,1,2
BRDA:414,42,0,5
BRDA:414,42,1,3
BRDA:480,43,0,10
BRDA:480,43,1,0
BRDA:498,44,0,4
BRDA:498,44,1,3
BRF:90
BRH:67
DA:498,5
DA:506,1
DA:507,2
DA:511,1
DA:512,4
DA:513,4
DA:514,4
DA:515,0
DA:517,4
DA:518,4
DA:523,1
DA:524,0
DA:525,0
DA:526,0
DA:527,0
DA:529,0
DA:530,0
DA:535,1
DA:536,4
DA:543,1
DA:544,10
DA:545,10
DA:546,10
DA:553,1