WebSocket message encrypt
This commit is contained in:
		
							parent
							
								
									7ef9536593
								
							
						
					
					
						commit
						461fdada73
					
				
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										182
									
								
								DiscoBot/ClientApp/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										182
									
								
								DiscoBot/ClientApp/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1080,7 +1080,8 @@ | |||||||
|     "@types/selenium-webdriver": { |     "@types/selenium-webdriver": { | ||||||
|       "version": "3.0.10", |       "version": "3.0.10", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.10.tgz", |       "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.10.tgz", | ||||||
|       "integrity": "sha512-ikB0JHv6vCR1KYUQAzTO4gi/lXLElT4Tx+6De2pc/OZwizE9LRNiTa+U8TBFKBD/nntPnr/MPSHSnOTybjhqNA==" |       "integrity": "sha512-ikB0JHv6vCR1KYUQAzTO4gi/lXLElT4Tx+6De2pc/OZwizE9LRNiTa+U8TBFKBD/nntPnr/MPSHSnOTybjhqNA==", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "@types/source-list-map": { |     "@types/source-list-map": { | ||||||
|       "version": "0.1.2", |       "version": "0.1.2", | ||||||
| @ -1469,6 +1470,7 @@ | |||||||
|       "version": "1.1.5", |       "version": "1.1.5", | ||||||
|       "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", |       "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", | ||||||
|       "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", |       "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "delegates": "^1.0.0", |         "delegates": "^1.0.0", | ||||||
|         "readable-stream": "^2.0.6" |         "readable-stream": "^2.0.6" | ||||||
| @ -1559,7 +1561,8 @@ | |||||||
|     "asn1": { |     "asn1": { | ||||||
|       "version": "0.2.3", |       "version": "0.2.3", | ||||||
|       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", |       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", | ||||||
|       "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" |       "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "asn1.js": { |     "asn1.js": { | ||||||
|       "version": "4.10.1", |       "version": "4.10.1", | ||||||
| @ -1657,7 +1660,8 @@ | |||||||
|     "asynckit": { |     "asynckit": { | ||||||
|       "version": "0.4.0", |       "version": "0.4.0", | ||||||
|       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", |       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||||||
|       "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" |       "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "atob": { |     "atob": { | ||||||
|       "version": "2.1.2", |       "version": "2.1.2", | ||||||
| @ -1689,7 +1693,8 @@ | |||||||
|     "aws4": { |     "aws4": { | ||||||
|       "version": "1.7.0", |       "version": "1.7.0", | ||||||
|       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", |       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", | ||||||
|       "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" |       "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "babel-code-frame": { |     "babel-code-frame": { | ||||||
|       "version": "6.26.0", |       "version": "6.26.0", | ||||||
| @ -2559,6 +2564,7 @@ | |||||||
|       "version": "1.0.6", |       "version": "1.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", |       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", | ||||||
|       "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", |       "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "delayed-stream": "~1.0.0" |         "delayed-stream": "~1.0.0" | ||||||
|       } |       } | ||||||
| @ -2721,7 +2727,8 @@ | |||||||
|     "console-control-strings": { |     "console-control-strings": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", | ||||||
|       "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" |       "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "constants-browserify": { |     "constants-browserify": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
| @ -2977,6 +2984,7 @@ | |||||||
|       "version": "1.14.1", |       "version": "1.14.1", | ||||||
|       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", |       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||||||
|       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", |       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "assert-plus": "^1.0.0" |         "assert-plus": "^1.0.0" | ||||||
|       }, |       }, | ||||||
| @ -2984,7 +2992,8 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -3111,12 +3120,14 @@ | |||||||
|     "delayed-stream": { |     "delayed-stream": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||||||
|       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" |       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "delegates": { |     "delegates": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", | ||||||
|       "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" |       "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "depd": { |     "depd": { | ||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
| @ -3893,7 +3904,8 @@ | |||||||
|     "extsprintf": { |     "extsprintf": { | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||||||
|       "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" |       "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "fast-deep-equal": { |     "fast-deep-equal": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
| @ -4025,6 +4037,7 @@ | |||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", |       "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", | ||||||
|       "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", |       "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "path-exists": "^2.0.0", |         "path-exists": "^2.0.0", | ||||||
|         "pinkie-promise": "^2.0.0" |         "pinkie-promise": "^2.0.0" | ||||||
| @ -4090,7 +4103,8 @@ | |||||||
|     "forever-agent": { |     "forever-agent": { | ||||||
|       "version": "0.6.1", |       "version": "0.6.1", | ||||||
|       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", |       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||||||
|       "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" |       "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "form-data": { |     "form-data": { | ||||||
|       "version": "2.3.3", |       "version": "2.3.3", | ||||||
| @ -4190,7 +4204,8 @@ | |||||||
|         "ansi-regex": { |         "ansi-regex": { | ||||||
|           "version": "2.1.1", |           "version": "2.1.1", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "aproba": { |         "aproba": { | ||||||
|           "version": "1.2.0", |           "version": "1.2.0", | ||||||
| @ -4211,12 +4226,14 @@ | |||||||
|         "balanced-match": { |         "balanced-match": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "brace-expansion": { |         "brace-expansion": { | ||||||
|           "version": "1.1.11", |           "version": "1.1.11", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "balanced-match": "^1.0.0", |             "balanced-match": "^1.0.0", | ||||||
|             "concat-map": "0.0.1" |             "concat-map": "0.0.1" | ||||||
| @ -4231,17 +4248,20 @@ | |||||||
|         "code-point-at": { |         "code-point-at": { | ||||||
|           "version": "1.1.0", |           "version": "1.1.0", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "concat-map": { |         "concat-map": { | ||||||
|           "version": "0.0.1", |           "version": "0.0.1", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "console-control-strings": { |         "console-control-strings": { | ||||||
|           "version": "1.1.0", |           "version": "1.1.0", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "core-util-is": { |         "core-util-is": { | ||||||
|           "version": "1.0.2", |           "version": "1.0.2", | ||||||
| @ -4358,7 +4378,8 @@ | |||||||
|         "inherits": { |         "inherits": { | ||||||
|           "version": "2.0.3", |           "version": "2.0.3", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "ini": { |         "ini": { | ||||||
|           "version": "1.3.5", |           "version": "1.3.5", | ||||||
| @ -4370,6 +4391,7 @@ | |||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "number-is-nan": "^1.0.0" |             "number-is-nan": "^1.0.0" | ||||||
|           } |           } | ||||||
| @ -4384,6 +4406,7 @@ | |||||||
|           "version": "3.0.4", |           "version": "3.0.4", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "brace-expansion": "^1.1.7" |             "brace-expansion": "^1.1.7" | ||||||
|           } |           } | ||||||
| @ -4391,12 +4414,14 @@ | |||||||
|         "minimist": { |         "minimist": { | ||||||
|           "version": "0.0.8", |           "version": "0.0.8", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "minipass": { |         "minipass": { | ||||||
|           "version": "2.3.5", |           "version": "2.3.5", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "safe-buffer": "^5.1.2", |             "safe-buffer": "^5.1.2", | ||||||
|             "yallist": "^3.0.0" |             "yallist": "^3.0.0" | ||||||
| @ -4415,6 +4440,7 @@ | |||||||
|           "version": "0.5.1", |           "version": "0.5.1", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "minimist": "0.0.8" |             "minimist": "0.0.8" | ||||||
|           } |           } | ||||||
| @ -4495,7 +4521,8 @@ | |||||||
|         "number-is-nan": { |         "number-is-nan": { | ||||||
|           "version": "1.0.1", |           "version": "1.0.1", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "object-assign": { |         "object-assign": { | ||||||
|           "version": "4.1.1", |           "version": "4.1.1", | ||||||
| @ -4507,6 +4534,7 @@ | |||||||
|           "version": "1.4.0", |           "version": "1.4.0", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "wrappy": "1" |             "wrappy": "1" | ||||||
|           } |           } | ||||||
| @ -4592,7 +4620,8 @@ | |||||||
|         "safe-buffer": { |         "safe-buffer": { | ||||||
|           "version": "5.1.2", |           "version": "5.1.2", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "safer-buffer": { |         "safer-buffer": { | ||||||
|           "version": "2.1.2", |           "version": "2.1.2", | ||||||
| @ -4628,6 +4657,7 @@ | |||||||
|           "version": "1.0.2", |           "version": "1.0.2", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "code-point-at": "^1.0.0", |             "code-point-at": "^1.0.0", | ||||||
|             "is-fullwidth-code-point": "^1.0.0", |             "is-fullwidth-code-point": "^1.0.0", | ||||||
| @ -4647,6 +4677,7 @@ | |||||||
|           "version": "3.0.1", |           "version": "3.0.1", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true, |           "dev": true, | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "ansi-regex": "^2.0.0" |             "ansi-regex": "^2.0.0" | ||||||
|           } |           } | ||||||
| @ -4690,12 +4721,14 @@ | |||||||
|         "wrappy": { |         "wrappy": { | ||||||
|           "version": "1.0.2", |           "version": "1.0.2", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "yallist": { |         "yallist": { | ||||||
|           "version": "3.0.3", |           "version": "3.0.3", | ||||||
|           "bundled": true, |           "bundled": true, | ||||||
|           "dev": true |           "dev": true, | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -4703,6 +4736,7 @@ | |||||||
|       "version": "1.0.11", |       "version": "1.0.11", | ||||||
|       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", |       "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", | ||||||
|       "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", |       "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "graceful-fs": "^4.1.2", |         "graceful-fs": "^4.1.2", | ||||||
|         "inherits": "~2.0.0", |         "inherits": "~2.0.0", | ||||||
| @ -4714,6 +4748,7 @@ | |||||||
|       "version": "2.7.4", |       "version": "2.7.4", | ||||||
|       "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", |       "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", | ||||||
|       "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", |       "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "aproba": "^1.0.3", |         "aproba": "^1.0.3", | ||||||
|         "console-control-strings": "^1.0.0", |         "console-control-strings": "^1.0.0", | ||||||
| @ -4748,7 +4783,8 @@ | |||||||
|     "get-stdin": { |     "get-stdin": { | ||||||
|       "version": "4.0.1", |       "version": "4.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", |       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", | ||||||
|       "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" |       "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "get-stream": { |     "get-stream": { | ||||||
|       "version": "3.0.0", |       "version": "3.0.0", | ||||||
| @ -4766,6 +4802,7 @@ | |||||||
|       "version": "0.1.7", |       "version": "0.1.7", | ||||||
|       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", |       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||||||
|       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", |       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "assert-plus": "^1.0.0" |         "assert-plus": "^1.0.0" | ||||||
|       }, |       }, | ||||||
| @ -4773,7 +4810,8 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -4912,7 +4950,8 @@ | |||||||
|     "har-schema": { |     "har-schema": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||||||
|       "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" |       "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "har-validator": { |     "har-validator": { | ||||||
|       "version": "5.1.3", |       "version": "5.1.3", | ||||||
| @ -4964,7 +5003,8 @@ | |||||||
|     "has-unicode": { |     "has-unicode": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", | ||||||
|       "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" |       "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "has-value": { |     "has-value": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
| @ -5196,7 +5236,8 @@ | |||||||
|     "immediate": { |     "immediate": { | ||||||
|       "version": "3.0.6", |       "version": "3.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", |       "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", | ||||||
|       "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" |       "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "import-cwd": { |     "import-cwd": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
| @ -5708,12 +5749,14 @@ | |||||||
|     "is-typedarray": { |     "is-typedarray": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||||||
|       "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" |       "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "is-utf8": { |     "is-utf8": { | ||||||
|       "version": "0.2.1", |       "version": "0.2.1", | ||||||
|       "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", |       "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", | ||||||
|       "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" |       "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "is-windows": { |     "is-windows": { | ||||||
|       "version": "1.0.2", |       "version": "1.0.2", | ||||||
| @ -5764,7 +5807,8 @@ | |||||||
|     "isstream": { |     "isstream": { | ||||||
|       "version": "0.1.2", |       "version": "0.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", |       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||||||
|       "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" |       "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "istanbul-api": { |     "istanbul-api": { | ||||||
|       "version": "2.1.1", |       "version": "2.1.1", | ||||||
| @ -6040,7 +6084,8 @@ | |||||||
|     "json-schema": { |     "json-schema": { | ||||||
|       "version": "0.2.3", |       "version": "0.2.3", | ||||||
|       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", |       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||||||
|       "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" |       "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "json-schema-traverse": { |     "json-schema-traverse": { | ||||||
|       "version": "0.3.1", |       "version": "0.3.1", | ||||||
| @ -6050,7 +6095,8 @@ | |||||||
|     "json-stringify-safe": { |     "json-stringify-safe": { | ||||||
|       "version": "5.0.1", |       "version": "5.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", |       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||||||
|       "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" |       "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "json3": { |     "json3": { | ||||||
|       "version": "3.3.2", |       "version": "3.3.2", | ||||||
| @ -6077,6 +6123,7 @@ | |||||||
|       "version": "1.4.1", |       "version": "1.4.1", | ||||||
|       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", |       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||||||
|       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", |       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "assert-plus": "1.0.0", |         "assert-plus": "1.0.0", | ||||||
|         "extsprintf": "1.3.0", |         "extsprintf": "1.3.0", | ||||||
| @ -6087,7 +6134,8 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -6100,6 +6148,7 @@ | |||||||
|       "version": "3.1.5", |       "version": "3.1.5", | ||||||
|       "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", |       "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz", | ||||||
|       "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", |       "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "core-js": "~2.3.0", |         "core-js": "~2.3.0", | ||||||
|         "es6-promise": "~3.0.2", |         "es6-promise": "~3.0.2", | ||||||
| @ -6111,22 +6160,26 @@ | |||||||
|         "core-js": { |         "core-js": { | ||||||
|           "version": "2.3.0", |           "version": "2.3.0", | ||||||
|           "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", |           "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz", | ||||||
|           "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=" |           "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "es6-promise": { |         "es6-promise": { | ||||||
|           "version": "3.0.2", |           "version": "3.0.2", | ||||||
|           "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", |           "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz", | ||||||
|           "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=" |           "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "process-nextick-args": { |         "process-nextick-args": { | ||||||
|           "version": "1.0.7", |           "version": "1.0.7", | ||||||
|           "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", |           "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", | ||||||
|           "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" |           "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "readable-stream": { |         "readable-stream": { | ||||||
|           "version": "2.0.6", |           "version": "2.0.6", | ||||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", |           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", | ||||||
|           "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", |           "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "core-util-is": "~1.0.0", |             "core-util-is": "~1.0.0", | ||||||
|             "inherits": "~2.0.1", |             "inherits": "~2.0.1", | ||||||
| @ -6139,7 +6192,8 @@ | |||||||
|         "string_decoder": { |         "string_decoder": { | ||||||
|           "version": "0.10.31", |           "version": "0.10.31", | ||||||
|           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", |           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", | ||||||
|           "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" |           "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -6343,6 +6397,7 @@ | |||||||
|       "version": "3.1.1", |       "version": "3.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", |       "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", | ||||||
|       "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", |       "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "immediate": "~3.0.5" |         "immediate": "~3.0.5" | ||||||
|       } |       } | ||||||
| @ -6351,6 +6406,7 @@ | |||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", | ||||||
|       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", |       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "graceful-fs": "^4.1.2", |         "graceful-fs": "^4.1.2", | ||||||
|         "parse-json": "^2.2.0", |         "parse-json": "^2.2.0", | ||||||
| @ -6648,7 +6704,8 @@ | |||||||
|     "map-obj": { |     "map-obj": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", | ||||||
|       "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" |       "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "map-visit": { |     "map-visit": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
| @ -7231,6 +7288,7 @@ | |||||||
|       "version": "4.1.2", |       "version": "4.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", |       "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", | ||||||
|       "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", |       "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "are-we-there-yet": "~1.1.2", |         "are-we-there-yet": "~1.1.2", | ||||||
|         "console-control-strings": "~1.1.0", |         "console-control-strings": "~1.1.0", | ||||||
| @ -7258,7 +7316,8 @@ | |||||||
|     "oauth-sign": { |     "oauth-sign": { | ||||||
|       "version": "0.8.2", |       "version": "0.8.2", | ||||||
|       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", |       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", | ||||||
|       "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" |       "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "object-assign": { |     "object-assign": { | ||||||
|       "version": "4.1.1", |       "version": "4.1.1", | ||||||
| @ -7790,6 +7849,7 @@ | |||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", | ||||||
|       "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", |       "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "pinkie-promise": "^2.0.0" |         "pinkie-promise": "^2.0.0" | ||||||
|       } |       } | ||||||
| @ -7825,6 +7885,7 @@ | |||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", | ||||||
|       "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", |       "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "graceful-fs": "^4.1.2", |         "graceful-fs": "^4.1.2", | ||||||
|         "pify": "^2.0.0", |         "pify": "^2.0.0", | ||||||
| @ -7847,7 +7908,8 @@ | |||||||
|     "performance-now": { |     "performance-now": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||||||
|       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" |       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "pify": { |     "pify": { | ||||||
|       "version": "2.3.0", |       "version": "2.3.0", | ||||||
| @ -8199,7 +8261,8 @@ | |||||||
|     "q": { |     "q": { | ||||||
|       "version": "1.4.1", |       "version": "1.4.1", | ||||||
|       "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", |       "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", | ||||||
|       "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=" |       "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "qjobs": { |     "qjobs": { | ||||||
|       "version": "1.2.0", |       "version": "1.2.0", | ||||||
| @ -8310,6 +8373,7 @@ | |||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", | ||||||
|       "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", |       "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "load-json-file": "^1.0.0", |         "load-json-file": "^1.0.0", | ||||||
|         "normalize-package-data": "^2.3.2", |         "normalize-package-data": "^2.3.2", | ||||||
| @ -8320,6 +8384,7 @@ | |||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", | ||||||
|       "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", |       "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "find-up": "^1.0.0", |         "find-up": "^1.0.0", | ||||||
|         "read-pkg": "^1.0.0" |         "read-pkg": "^1.0.0" | ||||||
| @ -8469,6 +8534,7 @@ | |||||||
|       "version": "2.87.0", |       "version": "2.87.0", | ||||||
|       "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", |       "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", | ||||||
|       "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", |       "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "aws-sign2": "~0.7.0", |         "aws-sign2": "~0.7.0", | ||||||
|         "aws4": "^1.6.0", |         "aws4": "^1.6.0", | ||||||
| @ -8496,6 +8562,7 @@ | |||||||
|           "version": "5.5.2", |           "version": "5.5.2", | ||||||
|           "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", |           "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", | ||||||
|           "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", |           "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "co": "^4.6.0", |             "co": "^4.6.0", | ||||||
|             "fast-deep-equal": "^1.0.0", |             "fast-deep-equal": "^1.0.0", | ||||||
| @ -8506,22 +8573,26 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "aws-sign2": { |         "aws-sign2": { | ||||||
|           "version": "0.7.0", |           "version": "0.7.0", | ||||||
|           "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", |           "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||||||
|           "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" |           "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "caseless": { |         "caseless": { | ||||||
|           "version": "0.12.0", |           "version": "0.12.0", | ||||||
|           "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", |           "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||||||
|           "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" |           "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "form-data": { |         "form-data": { | ||||||
|           "version": "2.3.2", |           "version": "2.3.2", | ||||||
|           "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", |           "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", | ||||||
|           "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", |           "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "asynckit": "^0.4.0", |             "asynckit": "^0.4.0", | ||||||
|             "combined-stream": "1.0.6", |             "combined-stream": "1.0.6", | ||||||
| @ -8532,6 +8603,7 @@ | |||||||
|           "version": "5.0.3", |           "version": "5.0.3", | ||||||
|           "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", |           "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", | ||||||
|           "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", |           "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "ajv": "^5.1.0", |             "ajv": "^5.1.0", | ||||||
|             "har-schema": "^2.0.0" |             "har-schema": "^2.0.0" | ||||||
| @ -8541,6 +8613,7 @@ | |||||||
|           "version": "1.2.0", |           "version": "1.2.0", | ||||||
|           "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", |           "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||||||
|           "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", |           "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "assert-plus": "^1.0.0", |             "assert-plus": "^1.0.0", | ||||||
|             "jsprim": "^1.2.2", |             "jsprim": "^1.2.2", | ||||||
| @ -8550,12 +8623,14 @@ | |||||||
|         "qs": { |         "qs": { | ||||||
|           "version": "6.5.2", |           "version": "6.5.2", | ||||||
|           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", |           "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | ||||||
|           "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" |           "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", | ||||||
|  |           "optional": true | ||||||
|         }, |         }, | ||||||
|         "tunnel-agent": { |         "tunnel-agent": { | ||||||
|           "version": "0.6.0", |           "version": "0.6.0", | ||||||
|           "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", |           "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||||||
|           "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", |           "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||||||
|  |           "optional": true, | ||||||
|           "requires": { |           "requires": { | ||||||
|             "safe-buffer": "^5.0.1" |             "safe-buffer": "^5.0.1" | ||||||
|           } |           } | ||||||
| @ -8750,7 +8825,8 @@ | |||||||
|     "sax": { |     "sax": { | ||||||
|       "version": "1.2.4", |       "version": "1.2.4", | ||||||
|       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", |       "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||||||
|       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" |       "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "schema-utils": { |     "schema-utils": { | ||||||
|       "version": "1.0.0", |       "version": "1.0.0", | ||||||
| @ -8783,6 +8859,7 @@ | |||||||
|       "version": "3.6.0", |       "version": "3.6.0", | ||||||
|       "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", |       "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", | ||||||
|       "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", |       "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "jszip": "^3.1.3", |         "jszip": "^3.1.3", | ||||||
|         "rimraf": "^2.5.4", |         "rimraf": "^2.5.4", | ||||||
| @ -9493,6 +9570,7 @@ | |||||||
|       "version": "1.14.2", |       "version": "1.14.2", | ||||||
|       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", |       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", | ||||||
|       "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", |       "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "asn1": "~0.2.3", |         "asn1": "~0.2.3", | ||||||
|         "assert-plus": "^1.0.0", |         "assert-plus": "^1.0.0", | ||||||
| @ -9508,7 +9586,8 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -9647,6 +9726,7 @@ | |||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", | ||||||
|       "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", |       "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "is-utf8": "^0.2.0" |         "is-utf8": "^0.2.0" | ||||||
|       } |       } | ||||||
| @ -10091,6 +10171,7 @@ | |||||||
|       "version": "2.3.4", |       "version": "2.3.4", | ||||||
|       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", |       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", | ||||||
|       "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", |       "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "punycode": "^1.4.1" |         "punycode": "^1.4.1" | ||||||
|       } |       } | ||||||
| @ -10552,6 +10633,7 @@ | |||||||
|       "version": "1.10.0", |       "version": "1.10.0", | ||||||
|       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", |       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||||||
|       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", |       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "assert-plus": "^1.0.0", |         "assert-plus": "^1.0.0", | ||||||
|         "core-util-is": "1.0.2", |         "core-util-is": "1.0.2", | ||||||
| @ -10561,7 +10643,8 @@ | |||||||
|         "assert-plus": { |         "assert-plus": { | ||||||
|           "version": "1.0.0", |           "version": "1.0.0", | ||||||
|           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", |           "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||||||
|           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" |           "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", | ||||||
|  |           "optional": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @ -11132,6 +11215,7 @@ | |||||||
|       "version": "1.1.3", |       "version": "1.1.3", | ||||||
|       "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", |       "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", | ||||||
|       "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", |       "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "string-width": "^1.0.2 || 2" |         "string-width": "^1.0.2 || 2" | ||||||
|       } |       } | ||||||
| @ -11184,6 +11268,7 @@ | |||||||
|       "version": "0.4.19", |       "version": "0.4.19", | ||||||
|       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", |       "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", | ||||||
|       "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", |       "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", | ||||||
|  |       "optional": true, | ||||||
|       "requires": { |       "requires": { | ||||||
|         "sax": ">=0.6.0", |         "sax": ">=0.6.0", | ||||||
|         "xmlbuilder": "~9.0.1" |         "xmlbuilder": "~9.0.1" | ||||||
| @ -11192,7 +11277,8 @@ | |||||||
|     "xmlbuilder": { |     "xmlbuilder": { | ||||||
|       "version": "9.0.7", |       "version": "9.0.7", | ||||||
|       "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", |       "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", | ||||||
|       "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" |       "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", | ||||||
|  |       "optional": true | ||||||
|     }, |     }, | ||||||
|     "xmlhttprequest-ssl": { |     "xmlhttprequest-ssl": { | ||||||
|       "version": "1.5.5", |       "version": "1.5.5", | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| <h1>Calendar</h1> | <h1>Calendar</h1> | ||||||
| 
 | 
 | ||||||
| <p>This component demonstrates fetching data from the server.</p> | <p>This component demonstrates fetching data from the server.</p> | ||||||
| 
 |  | ||||||
| <p *ngIf="!forecasts"><em>Loading...</em></p> | <p *ngIf="!forecasts"><em>Loading...</em></p> | ||||||
| 
 | 
 | ||||||
| <table class='table table-striped' *ngIf="forecasts"> | <table class='table table-striped' *ngIf="forecasts"> | ||||||
|  | |||||||
| @ -17,11 +17,12 @@ export class CalendarComponent { | |||||||
|       // Web Socket is connected, send data using send()
 |       // Web Socket is connected, send data using send()
 | ||||||
|       ws.send("Message to send"); |       ws.send("Message to send"); | ||||||
|       alert("Message is sent...");  |       alert("Message is sent...");  | ||||||
|  | 
 | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     ws.onmessage = function (evt) { |     ws.onmessage = function (evt) { | ||||||
|       var received_msg = evt.data; |       var received_msg = evt.data; | ||||||
|       alert("Message is received..."); |       alert(received_msg); | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     ws.onclose = function () { |     ws.onclose = function () { | ||||||
|  | |||||||
| @ -1,11 +1,17 @@ | |||||||
| using Discord; | using DiscoBot.calendar; | ||||||
|  | using Discord; | ||||||
| using Discord.WebSocket; | using Discord.WebSocket; | ||||||
| using Microsoft.AspNetCore.Http; | using Microsoft.AspNetCore.Http; | ||||||
|  | using Microsoft.EntityFrameworkCore; | ||||||
|  | using Newtonsoft.Json; | ||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
|  | using System.Dynamic; | ||||||
|  | using System.IO; | ||||||
| using System.Linq; | using System.Linq; | ||||||
| using System.Net.WebSockets; | using System.Net.WebSockets; | ||||||
| using System.Reflection; | using System.Reflection; | ||||||
|  | using System.Text; | ||||||
| using System.Threading; | using System.Threading; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| 
 | 
 | ||||||
| @ -17,7 +23,9 @@ namespace DiscoBot | |||||||
|         private List<WebSocket> webSockets = new List<WebSocket>(); |         private List<WebSocket> webSockets = new List<WebSocket>(); | ||||||
|         private WSController wsC; |         private WSController wsC; | ||||||
|         private List<Type> moduleTypes = new List<Type>(); |         private List<Type> moduleTypes = new List<Type>(); | ||||||
|  |         private Dictionary<ulong, List<IModule>> guildModules = new Dictionary<ulong, List<IModule>>(); | ||||||
|         private Dictionary<ulong, Dictionary<string, Func<SocketMessage, string[], Task>>> guildcommands = new Dictionary<ulong, Dictionary<string, Func<SocketMessage, string[], Task>>>(); |         private Dictionary<ulong, Dictionary<string, Func<SocketMessage, string[], Task>>> guildcommands = new Dictionary<ulong, Dictionary<string, Func<SocketMessage, string[], Task>>>(); | ||||||
|  |         private CalendarContext calendarContext; | ||||||
|         public DisBot(WSController wsC) |         public DisBot(WSController wsC) | ||||||
|         { |         { | ||||||
|             this.wsC = wsC; |             this.wsC = wsC; | ||||||
| @ -26,10 +34,15 @@ namespace DiscoBot | |||||||
|         private async Task Echo(HttpContext context, WebSocket webSocket) |         private async Task Echo(HttpContext context, WebSocket webSocket) | ||||||
|         { |         { | ||||||
|             var buffer = new byte[1024 * 4]; |             var buffer = new byte[1024 * 4]; | ||||||
|  | 
 | ||||||
|             WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); |             WebSocketReceiveResult result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | ||||||
|  |             // Clientpaket handlen | ||||||
|  |             // WebSocket an richtiges module zustellen | ||||||
|             while (!result.CloseStatus.HasValue) |             while (!result.CloseStatus.HasValue) | ||||||
|             { |             { | ||||||
|                 await webSocket.SendAsync(new ArraySegment<byte>(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, CancellationToken.None); |                 var msgBytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(calendarContext.CalendarItems)); | ||||||
|  |                 Console.WriteLine(msgBytes); | ||||||
|  |                 await webSocket.SendAsync(new ArraySegment<byte>(msgBytes, 0, msgBytes.Length), result.MessageType, result.EndOfMessage, CancellationToken.None); | ||||||
| 
 | 
 | ||||||
|                 result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); |                 result = await webSocket.ReceiveAsync(new ArraySegment<byte>(buffer), CancellationToken.None); | ||||||
|             } |             } | ||||||
| @ -41,6 +54,33 @@ namespace DiscoBot | |||||||
|             Console.WriteLine("Handling Websocket to "+ context.Request.Path); |             Console.WriteLine("Handling Websocket to "+ context.Request.Path); | ||||||
|             WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); |             WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); | ||||||
|             webSockets.Add(webSocket); |             webSockets.Add(webSocket); | ||||||
|  |             ArraySegment<Byte> buffer = new ArraySegment<byte>(new Byte[8192]); | ||||||
|  |             WebSocketReceiveResult result = await webSocket.ReceiveAsync(buffer, CancellationToken.None); | ||||||
|  |             // {op:"connect", gid: 324984732895, module:"calendar"} | ||||||
|  |             using (var ms = new MemoryStream()){ | ||||||
|  |                 do | ||||||
|  |                 { | ||||||
|  |                     ms.Write(buffer.Array, buffer.Offset, result.Count); | ||||||
|  |                 } | ||||||
|  |                 while (!result.EndOfMessage); | ||||||
|  | 
 | ||||||
|  |                 ms.Seek(0, SeekOrigin.Begin); | ||||||
|  | 
 | ||||||
|  |                 if(result.MessageType == WebSocketMessageType.Text) | ||||||
|  |                 { | ||||||
|  |                     using (var reader = new StreamReader(ms, Encoding.UTF8)) | ||||||
|  |                     { | ||||||
|  |                         string line; | ||||||
|  |                         while((line = reader.ReadLine()) != null) | ||||||
|  |                         { | ||||||
|  |                             Console.WriteLine(line); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |             //IModule module = guildModules[gid]; | ||||||
|  |             //module.OnNewWebSocket(webSocket); | ||||||
|             await Echo(context, webSocket); |             await Echo(context, webSocket); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -99,6 +139,7 @@ namespace DiscoBot | |||||||
|         private void LoadModulesForGuild(SocketGuild guild) |         private void LoadModulesForGuild(SocketGuild guild) | ||||||
|         { |         { | ||||||
|             Dictionary<string, Func<SocketMessage, string[], Task>> commands = new Dictionary<string, Func<SocketMessage, string[], Task>>(); |             Dictionary<string, Func<SocketMessage, string[], Task>> commands = new Dictionary<string, Func<SocketMessage, string[], Task>>(); | ||||||
|  |             List<IModule> iModules = new List<IModule>(); | ||||||
|             foreach (Type t in moduleTypes) |             foreach (Type t in moduleTypes) | ||||||
|             { |             { | ||||||
|                 if (t.IsInterface) |                 if (t.IsInterface) | ||||||
| @ -106,7 +147,8 @@ namespace DiscoBot | |||||||
|                 try |                 try | ||||||
|                 { |                 { | ||||||
|                     IModule module = (IModule)Activator.CreateInstance(t, new object[] { guild }); |                     IModule module = (IModule)Activator.CreateInstance(t, new object[] { guild }); | ||||||
|                     module.Initialize(wsC); |                     module.Initialize(); | ||||||
|  |                     iModules.Add(module); | ||||||
|                     var c = module.Commands; |                     var c = module.Commands; | ||||||
|                     List<string> keyList = new List<string>(c.Keys); |                     List<string> keyList = new List<string>(c.Keys); | ||||||
|                     foreach (string k in keyList) |                     foreach (string k in keyList) | ||||||
| @ -123,6 +165,7 @@ namespace DiscoBot | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             guildcommands.Add(guild.Id, commands); |             guildcommands.Add(guild.Id, commands); | ||||||
|  |             guildModules.Add(guild.Id, iModules); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private Task GuildAvailable(SocketGuild guild) |         private Task GuildAvailable(SocketGuild guild) | ||||||
|  | |||||||
| @ -2,6 +2,7 @@ | |||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.Linq; | using System.Linq; | ||||||
|  | using System.Net.WebSockets; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| 
 | 
 | ||||||
| namespace DiscoBot | namespace DiscoBot | ||||||
| @ -9,6 +10,7 @@ namespace DiscoBot | |||||||
|     interface IModule |     interface IModule | ||||||
|     { |     { | ||||||
|         Dictionary<string,Func<SocketMessage, string[], Task>> Commands { get; set; } |         Dictionary<string,Func<SocketMessage, string[], Task>> Commands { get; set; } | ||||||
|         void Initialize(WSController wsC); |         void Initialize(); | ||||||
|  |         void OnNewWebSocket(WebSocket ws); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -57,6 +57,8 @@ namespace DiscoBot | |||||||
| 
 | 
 | ||||||
|             app.UseStaticFiles(); |             app.UseStaticFiles(); | ||||||
| 
 | 
 | ||||||
|  |             app.UseRouting(); | ||||||
|  | 
 | ||||||
|             var webSocketOptions = new WebSocketOptions() |             var webSocketOptions = new WebSocketOptions() | ||||||
|             { |             { | ||||||
|                 KeepAliveInterval = TimeSpan.FromSeconds(120), |                 KeepAliveInterval = TimeSpan.FromSeconds(120), | ||||||
| @ -89,11 +91,11 @@ namespace DiscoBot | |||||||
| 
 | 
 | ||||||
|             app.UseSpaStaticFiles(); |             app.UseSpaStaticFiles(); | ||||||
| 
 | 
 | ||||||
|             app.UseMvc(routes => |             app.UseEndpoints(routes => | ||||||
|             { |             { | ||||||
|                 routes.MapRoute( |                 routes.MapControllerRoute( | ||||||
|                     name: "default", |                     "default", | ||||||
|                     template: "{controller}/{action=Index}/{id?}"); |                     "{controller}/{action=Index}/{id?}"); | ||||||
|             }); |             }); | ||||||
| 
 | 
 | ||||||
|             app.UseSpa(spa => |             app.UseSpa(spa => | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.Linq; | using System.Linq; | ||||||
|  | using System.Net.WebSockets; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using Discord; | using Discord; | ||||||
| using Discord.WebSocket; | using Discord.WebSocket; | ||||||
| @ -9,8 +10,8 @@ namespace DiscoBot.calendar | |||||||
| { | { | ||||||
|     public class Calendar : IModule |     public class Calendar : IModule | ||||||
|     { |     { | ||||||
|         private WSController wsC; |  | ||||||
|         private SocketGuild guild; |         private SocketGuild guild; | ||||||
|  |         private List<WebSocket> webSockets = new List<WebSocket>(); | ||||||
|         public enum Attendance { Attending, Maybe } |         public enum Attendance { Attending, Maybe } | ||||||
|         private CalendarContext calendarContext; |         private CalendarContext calendarContext; | ||||||
|         public Dictionary<string, Func<SocketMessage, string[], Task>> Commands { get; set; } = new Dictionary<string, Func<SocketMessage, string[], Task>>(); |         public Dictionary<string, Func<SocketMessage, string[], Task>> Commands { get; set; } = new Dictionary<string, Func<SocketMessage, string[], Task>>(); | ||||||
| @ -25,12 +26,17 @@ namespace DiscoBot.calendar | |||||||
|             Commands.Add("caladd", HandleAddEventCommand); |             Commands.Add("caladd", HandleAddEventCommand); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void Initialize(WSController wsC) |         public void Initialize() | ||||||
|         { |         { | ||||||
|             this.wsC = wsC; |  | ||||||
|             Console.WriteLine("Initializing calendar..."); |             Console.WriteLine("Initializing calendar..."); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         public void OnNewWebSocket(WebSocket ws) | ||||||
|  |         { | ||||||
|  |             Console.WriteLine("Calendar " + guild.Id + " has a new websocket."); | ||||||
|  |             webSockets.Add(ws); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         private Task HandleTestCommand(SocketMessage msg, string[] parameters) |         private Task HandleTestCommand(SocketMessage msg, string[] parameters) | ||||||
|         { |         { | ||||||
|             Console.WriteLine("Calendar: Handling test command!"); |             Console.WriteLine("Calendar: Handling test command!"); | ||||||
| @ -70,7 +76,15 @@ namespace DiscoBot.calendar | |||||||
|             { |             { | ||||||
|                 msg.Channel.SendMessageAsync("Your date input was invalid. Try again with a valid date."); |                 msg.Channel.SendMessageAsync("Your date input was invalid. Try again with a valid date."); | ||||||
|             } |             } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|             return Task.CompletedTask; |             return Task.CompletedTask; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         public void OnNewWebsocket(WebSocket ws) | ||||||
|  |         { | ||||||
|  |             throw new NotImplementedException(); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| using System; | using System; | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| using System.Linq; | using System.Linq; | ||||||
|  | using System.Net.WebSockets; | ||||||
| using System.ServiceModel.Syndication; | using System.ServiceModel.Syndication; | ||||||
| using System.Threading.Tasks; | using System.Threading.Tasks; | ||||||
| using System.Timers; | using System.Timers; | ||||||
| @ -15,6 +16,7 @@ namespace DiscoBot.rss | |||||||
|         private SocketGuild guild; |         private SocketGuild guild; | ||||||
|         private RssContext rssContext; |         private RssContext rssContext; | ||||||
|         private Dictionary<string, Timer> timers = new Dictionary<string, Timer>(); |         private Dictionary<string, Timer> timers = new Dictionary<string, Timer>(); | ||||||
|  |         private List<WebSocket> webSockets = new List<WebSocket>(); | ||||||
| 
 | 
 | ||||||
|         public Dictionary<string, Func<SocketMessage, string[], Task>> Commands { get; set; } = new Dictionary<string, Func<SocketMessage, string[], Task>>(); |         public Dictionary<string, Func<SocketMessage, string[], Task>> Commands { get; set; } = new Dictionary<string, Func<SocketMessage, string[], Task>>(); | ||||||
| 
 | 
 | ||||||
| @ -200,9 +202,15 @@ namespace DiscoBot.rss | |||||||
|             return Task.CompletedTask; |             return Task.CompletedTask; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public void Initialize(WSController wsC) |         public void Initialize() | ||||||
|         { |         { | ||||||
|             Console.WriteLine("Initializing rss..."); |             Console.WriteLine("Initializing rss..."); | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         public void OnNewWebSocket(WebSocket ws) | ||||||
|  |         { | ||||||
|  |             Console.WriteLine("Calendar " + guild.Id + " has a new websocket."); | ||||||
|  |             webSockets.Add(ws); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user