├── .github └── workflows │ └── action.yml ├── .gitignore ├── index.js ├── package.json └── yarn.lock /.github/workflows/action.yml: -------------------------------------------------------------------------------- 1 | name: 'GitHub Actions Weather Bot' 2 | 3 | on: 4 | push: 5 | schedule: 6 | - cron: '0 14 * * *' 7 | 8 | jobs: 9 | bot: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v1 13 | - name: 'Install node' 14 | uses: actions/setup-node@v1 15 | - name: 'Install NPM dependencies' 16 | run: npm install 17 | - name: 'Run code' 18 | run: node index.js 19 | env: 20 | TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} 21 | TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} 22 | WEATHER_API_TOKEN: ${{ secrets.WEATHER_API_TOKEN }} 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | 3 | # Adding my task list from earlier 4 | tasks.md 5 | 6 | node_modules -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config() 2 | const fetch = require('node-fetch') 3 | const Telegram = require('node-telegram-bot-api') 4 | const bot = new Telegram(process.env.TELEGRAM_TOKEN) 5 | 6 | const weatherToken = process.env.WEATHER_API_TOKEN 7 | 8 | const weatherURL = new URL('https://api.openweathermap.org/data/2.5/weather') 9 | weatherURL.searchParams.set('zip', '78747,us') 10 | weatherURL.searchParams.set('APPID', weatherToken) 11 | weatherURL.searchParams.set('units', 'imperial') 12 | 13 | const getWeatherData = async () => { 14 | const resp = await fetch(weatherURL.toString()) 15 | const body = await resp.json() 16 | return body 17 | } 18 | 19 | const generateWeatherMessage = weatherData => 20 | `The weather in ${weatherData.name}: ${weatherData.weather[0].description}. Current temperature is ${weatherData.main.temp}, with a low temp of ${weatherData.main.temp_min} and high of ${weatherData.main.temp_max}.` 21 | 22 | const main = async () => { 23 | const weatherData = await getWeatherData() 24 | const weatherString = generateWeatherMessage(weatherData) 25 | bot.sendMessage(process.env.TELEGRAM_CHAT_ID, weatherString) 26 | } 27 | 28 | main() 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "github-actions-weather-bot", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "dotenv": "^8.2.0", 8 | "node-fetch": "^2.6.0", 9 | "node-telegram-bot-api": "^0.40.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | ajv@^6.5.5: 6 | version "6.10.2" 7 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 8 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== 9 | dependencies: 10 | fast-deep-equal "^2.0.1" 11 | fast-json-stable-stringify "^2.0.0" 12 | json-schema-traverse "^0.4.1" 13 | uri-js "^4.2.2" 14 | 15 | array.prototype.findindex@^2.0.2: 16 | version "2.0.2" 17 | resolved "https://registry.yarnpkg.com/array.prototype.findindex/-/array.prototype.findindex-2.0.2.tgz#58068d25887ef505e49dc92cb00c44dcee55b067" 18 | integrity sha1-WAaNJYh+9QXknckssAxE3O5VsGc= 19 | dependencies: 20 | define-properties "^1.1.2" 21 | es-abstract "^1.5.0" 22 | 23 | asn1@~0.2.3: 24 | version "0.2.4" 25 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 26 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 27 | dependencies: 28 | safer-buffer "~2.1.0" 29 | 30 | assert-plus@1.0.0, assert-plus@^1.0.0: 31 | version "1.0.0" 32 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 33 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 34 | 35 | asynckit@^0.4.0: 36 | version "0.4.0" 37 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 38 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 39 | 40 | aws-sign2@~0.7.0: 41 | version "0.7.0" 42 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 43 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 44 | 45 | aws4@^1.8.0: 46 | version "1.9.0" 47 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.0.tgz#24390e6ad61386b0a747265754d2a17219de862c" 48 | integrity sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== 49 | 50 | bcrypt-pbkdf@^1.0.0: 51 | version "1.0.2" 52 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 53 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 54 | dependencies: 55 | tweetnacl "^0.14.3" 56 | 57 | bl@^1.2.1: 58 | version "1.2.2" 59 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" 60 | integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== 61 | dependencies: 62 | readable-stream "^2.3.5" 63 | safe-buffer "^5.1.1" 64 | 65 | bluebird@^3.5.0, bluebird@^3.5.1: 66 | version "3.7.2" 67 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 68 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 69 | 70 | caseless@~0.12.0: 71 | version "0.12.0" 72 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 73 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 74 | 75 | combined-stream@^1.0.6, combined-stream@~1.0.6: 76 | version "1.0.8" 77 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 78 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 79 | dependencies: 80 | delayed-stream "~1.0.0" 81 | 82 | core-util-is@1.0.2, core-util-is@~1.0.0: 83 | version "1.0.2" 84 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 85 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 86 | 87 | dashdash@^1.12.0: 88 | version "1.14.1" 89 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 90 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 91 | dependencies: 92 | assert-plus "^1.0.0" 93 | 94 | debug@^3.1.0: 95 | version "3.2.6" 96 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 97 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 98 | dependencies: 99 | ms "^2.1.1" 100 | 101 | define-properties@^1.1.2, define-properties@^1.1.3: 102 | version "1.1.3" 103 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 104 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 105 | dependencies: 106 | object-keys "^1.0.12" 107 | 108 | delayed-stream@~1.0.0: 109 | version "1.0.0" 110 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 111 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 112 | 113 | depd@^1.1.1: 114 | version "1.1.2" 115 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 116 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 117 | 118 | dotenv@^8.2.0: 119 | version "8.2.0" 120 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" 121 | integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== 122 | 123 | ecc-jsbn@~0.1.1: 124 | version "0.1.2" 125 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 126 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 127 | dependencies: 128 | jsbn "~0.1.0" 129 | safer-buffer "^2.1.0" 130 | 131 | end-of-stream@^1.1.0: 132 | version "1.4.4" 133 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 134 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 135 | dependencies: 136 | once "^1.4.0" 137 | 138 | es-abstract@^1.5.0: 139 | version "1.16.3" 140 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.3.tgz#52490d978f96ff9f89ec15b5cf244304a5bca161" 141 | integrity sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw== 142 | dependencies: 143 | es-to-primitive "^1.2.1" 144 | function-bind "^1.1.1" 145 | has "^1.0.3" 146 | has-symbols "^1.0.1" 147 | is-callable "^1.1.4" 148 | is-regex "^1.0.4" 149 | object-inspect "^1.7.0" 150 | object-keys "^1.1.1" 151 | string.prototype.trimleft "^2.1.0" 152 | string.prototype.trimright "^2.1.0" 153 | 154 | es-to-primitive@^1.2.1: 155 | version "1.2.1" 156 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 157 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 158 | dependencies: 159 | is-callable "^1.1.4" 160 | is-date-object "^1.0.1" 161 | is-symbol "^1.0.2" 162 | 163 | eventemitter3@^3.0.0: 164 | version "3.1.2" 165 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" 166 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== 167 | 168 | extend@~3.0.2: 169 | version "3.0.2" 170 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 171 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 172 | 173 | extsprintf@1.3.0: 174 | version "1.3.0" 175 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 176 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 177 | 178 | extsprintf@^1.2.0: 179 | version "1.4.0" 180 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 181 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 182 | 183 | fast-deep-equal@^2.0.1: 184 | version "2.0.1" 185 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 186 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 187 | 188 | fast-json-stable-stringify@^2.0.0: 189 | version "2.1.0" 190 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 191 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 192 | 193 | file-type@^3.9.0: 194 | version "3.9.0" 195 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" 196 | integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= 197 | 198 | forever-agent@~0.6.1: 199 | version "0.6.1" 200 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 201 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 202 | 203 | form-data@~2.3.2: 204 | version "2.3.3" 205 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 206 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 207 | dependencies: 208 | asynckit "^0.4.0" 209 | combined-stream "^1.0.6" 210 | mime-types "^2.1.12" 211 | 212 | function-bind@^1.1.1: 213 | version "1.1.1" 214 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 215 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 216 | 217 | getpass@^0.1.1: 218 | version "0.1.7" 219 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 220 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 221 | dependencies: 222 | assert-plus "^1.0.0" 223 | 224 | har-schema@^2.0.0: 225 | version "2.0.0" 226 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 227 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 228 | 229 | har-validator@~5.1.0: 230 | version "5.1.3" 231 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 232 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 233 | dependencies: 234 | ajv "^6.5.5" 235 | har-schema "^2.0.0" 236 | 237 | has-symbols@^1.0.1: 238 | version "1.0.1" 239 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 240 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 241 | 242 | has@^1.0.3: 243 | version "1.0.3" 244 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 245 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 246 | dependencies: 247 | function-bind "^1.1.1" 248 | 249 | http-signature@~1.2.0: 250 | version "1.2.0" 251 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 252 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 253 | dependencies: 254 | assert-plus "^1.0.0" 255 | jsprim "^1.2.2" 256 | sshpk "^1.7.0" 257 | 258 | inherits@~2.0.3: 259 | version "2.0.4" 260 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 261 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 262 | 263 | is-callable@^1.1.4: 264 | version "1.1.4" 265 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 266 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 267 | 268 | is-date-object@^1.0.1: 269 | version "1.0.1" 270 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 271 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 272 | 273 | is-regex@^1.0.4: 274 | version "1.0.5" 275 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 276 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 277 | dependencies: 278 | has "^1.0.3" 279 | 280 | is-symbol@^1.0.2: 281 | version "1.0.3" 282 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 283 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 284 | dependencies: 285 | has-symbols "^1.0.1" 286 | 287 | is-typedarray@~1.0.0: 288 | version "1.0.0" 289 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 290 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 291 | 292 | isarray@~1.0.0: 293 | version "1.0.0" 294 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 295 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 296 | 297 | isstream@~0.1.2: 298 | version "0.1.2" 299 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 300 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 301 | 302 | jsbn@~0.1.0: 303 | version "0.1.1" 304 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 305 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 306 | 307 | json-schema-traverse@^0.4.1: 308 | version "0.4.1" 309 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 310 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 311 | 312 | json-schema@0.2.3: 313 | version "0.2.3" 314 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 315 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 316 | 317 | json-stringify-safe@~5.0.1: 318 | version "5.0.1" 319 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 320 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 321 | 322 | jsprim@^1.2.2: 323 | version "1.4.1" 324 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 325 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 326 | dependencies: 327 | assert-plus "1.0.0" 328 | extsprintf "1.3.0" 329 | json-schema "0.2.3" 330 | verror "1.10.0" 331 | 332 | lodash@^4.17.15: 333 | version "4.17.15" 334 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 335 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 336 | 337 | mime-db@1.42.0: 338 | version "1.42.0" 339 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" 340 | integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== 341 | 342 | mime-types@^2.1.12, mime-types@~2.1.19: 343 | version "2.1.25" 344 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.25.tgz#39772d46621f93e2a80a856c53b86a62156a6437" 345 | integrity sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== 346 | dependencies: 347 | mime-db "1.42.0" 348 | 349 | mime@^1.6.0: 350 | version "1.6.0" 351 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 352 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 353 | 354 | ms@^2.1.1: 355 | version "2.1.2" 356 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 357 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 358 | 359 | node-fetch@^2.6.0: 360 | version "2.6.0" 361 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" 362 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== 363 | 364 | node-telegram-bot-api@^0.40.0: 365 | version "0.40.0" 366 | resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.40.0.tgz#7e6acf631e868b8000025808daf566181c7673d5" 367 | integrity sha512-kDVCU1Y0L7hDnkm8oosO7cKIRyftPOvIGMvDbj7CU/FDIqqkC13VytRieHb/pFgTfFmiCpBTzAeK66YLHIfchQ== 368 | dependencies: 369 | array.prototype.findindex "^2.0.2" 370 | bl "^1.2.1" 371 | bluebird "^3.5.1" 372 | debug "^3.1.0" 373 | depd "^1.1.1" 374 | eventemitter3 "^3.0.0" 375 | file-type "^3.9.0" 376 | mime "^1.6.0" 377 | pump "^2.0.0" 378 | request "^2.83.0" 379 | request-promise "^4.2.2" 380 | 381 | oauth-sign@~0.9.0: 382 | version "0.9.0" 383 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 384 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 385 | 386 | object-inspect@^1.7.0: 387 | version "1.7.0" 388 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 389 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 390 | 391 | object-keys@^1.0.12, object-keys@^1.1.1: 392 | version "1.1.1" 393 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 394 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 395 | 396 | once@^1.3.1, once@^1.4.0: 397 | version "1.4.0" 398 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 399 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 400 | dependencies: 401 | wrappy "1" 402 | 403 | performance-now@^2.1.0: 404 | version "2.1.0" 405 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 406 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 407 | 408 | process-nextick-args@~2.0.0: 409 | version "2.0.1" 410 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 411 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 412 | 413 | psl@^1.1.24, psl@^1.1.28: 414 | version "1.6.0" 415 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.6.0.tgz#60557582ee23b6c43719d9890fb4170ecd91e110" 416 | integrity sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA== 417 | 418 | pump@^2.0.0: 419 | version "2.0.1" 420 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 421 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 422 | dependencies: 423 | end-of-stream "^1.1.0" 424 | once "^1.3.1" 425 | 426 | punycode@^1.4.1: 427 | version "1.4.1" 428 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 429 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 430 | 431 | punycode@^2.1.0, punycode@^2.1.1: 432 | version "2.1.1" 433 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 434 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 435 | 436 | qs@~6.5.2: 437 | version "6.5.2" 438 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 439 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 440 | 441 | readable-stream@^2.3.5: 442 | version "2.3.6" 443 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 444 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 445 | dependencies: 446 | core-util-is "~1.0.0" 447 | inherits "~2.0.3" 448 | isarray "~1.0.0" 449 | process-nextick-args "~2.0.0" 450 | safe-buffer "~5.1.1" 451 | string_decoder "~1.1.1" 452 | util-deprecate "~1.0.1" 453 | 454 | request-promise-core@1.1.3: 455 | version "1.1.3" 456 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" 457 | integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== 458 | dependencies: 459 | lodash "^4.17.15" 460 | 461 | request-promise@^4.2.2: 462 | version "4.2.5" 463 | resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.5.tgz#186222c59ae512f3497dfe4d75a9c8461bd0053c" 464 | integrity sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg== 465 | dependencies: 466 | bluebird "^3.5.0" 467 | request-promise-core "1.1.3" 468 | stealthy-require "^1.1.1" 469 | tough-cookie "^2.3.3" 470 | 471 | request@^2.83.0: 472 | version "2.88.0" 473 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 474 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 475 | dependencies: 476 | aws-sign2 "~0.7.0" 477 | aws4 "^1.8.0" 478 | caseless "~0.12.0" 479 | combined-stream "~1.0.6" 480 | extend "~3.0.2" 481 | forever-agent "~0.6.1" 482 | form-data "~2.3.2" 483 | har-validator "~5.1.0" 484 | http-signature "~1.2.0" 485 | is-typedarray "~1.0.0" 486 | isstream "~0.1.2" 487 | json-stringify-safe "~5.0.1" 488 | mime-types "~2.1.19" 489 | oauth-sign "~0.9.0" 490 | performance-now "^2.1.0" 491 | qs "~6.5.2" 492 | safe-buffer "^5.1.2" 493 | tough-cookie "~2.4.3" 494 | tunnel-agent "^0.6.0" 495 | uuid "^3.3.2" 496 | 497 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 498 | version "5.2.0" 499 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 500 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 501 | 502 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 503 | version "5.1.2" 504 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 505 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 506 | 507 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 508 | version "2.1.2" 509 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 510 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 511 | 512 | sshpk@^1.7.0: 513 | version "1.16.1" 514 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 515 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 516 | dependencies: 517 | asn1 "~0.2.3" 518 | assert-plus "^1.0.0" 519 | bcrypt-pbkdf "^1.0.0" 520 | dashdash "^1.12.0" 521 | ecc-jsbn "~0.1.1" 522 | getpass "^0.1.1" 523 | jsbn "~0.1.0" 524 | safer-buffer "^2.0.2" 525 | tweetnacl "~0.14.0" 526 | 527 | stealthy-require@^1.1.1: 528 | version "1.1.1" 529 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 530 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 531 | 532 | string.prototype.trimleft@^2.1.0: 533 | version "2.1.0" 534 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" 535 | integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== 536 | dependencies: 537 | define-properties "^1.1.3" 538 | function-bind "^1.1.1" 539 | 540 | string.prototype.trimright@^2.1.0: 541 | version "2.1.0" 542 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" 543 | integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== 544 | dependencies: 545 | define-properties "^1.1.3" 546 | function-bind "^1.1.1" 547 | 548 | string_decoder@~1.1.1: 549 | version "1.1.1" 550 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 551 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 552 | dependencies: 553 | safe-buffer "~5.1.0" 554 | 555 | tough-cookie@^2.3.3: 556 | version "2.5.0" 557 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 558 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 559 | dependencies: 560 | psl "^1.1.28" 561 | punycode "^2.1.1" 562 | 563 | tough-cookie@~2.4.3: 564 | version "2.4.3" 565 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 566 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 567 | dependencies: 568 | psl "^1.1.24" 569 | punycode "^1.4.1" 570 | 571 | tunnel-agent@^0.6.0: 572 | version "0.6.0" 573 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 574 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 575 | dependencies: 576 | safe-buffer "^5.0.1" 577 | 578 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 579 | version "0.14.5" 580 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 581 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 582 | 583 | uri-js@^4.2.2: 584 | version "4.2.2" 585 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 586 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 587 | dependencies: 588 | punycode "^2.1.0" 589 | 590 | util-deprecate@~1.0.1: 591 | version "1.0.2" 592 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 593 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 594 | 595 | uuid@^3.3.2: 596 | version "3.3.3" 597 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" 598 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== 599 | 600 | verror@1.10.0: 601 | version "1.10.0" 602 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 603 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 604 | dependencies: 605 | assert-plus "^1.0.0" 606 | core-util-is "1.0.2" 607 | extsprintf "^1.2.0" 608 | 609 | wrappy@1: 610 | version "1.0.2" 611 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 612 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 613 | --------------------------------------------------------------------------------