| 160 | }; |
| 161 | |
| 162 | function runServer (onClose, detached) { |
| 163 | detached = !!detached; |
| 164 | const server = spawn('telegram-bot-api', |
| 165 | [ |
| 166 | '--api-id=' + TELEGRAM_APP_ID, |
| 167 | '--api-hash=' + TELEGRAM_APP_HASH, |
| 168 | '--local', |
| 169 | '--dir=' + process.cwd() + '/server', |
| 170 | '--log=' + process.cwd() + '/server.log', |
| 171 | '--verbosity=' + (settings.server_verbosity || 1) |
| 172 | ], |
| 173 | {detached} |
| 174 | ); |
| 175 | server.stdout.on('data', (data) => { |
| 176 | if (LOCAL) { |
| 177 | console.log('Server says:', data); |
| 178 | } |
| 179 | }); |
| 180 | server.stderr.on('data', (data) => { |
| 181 | if (LOCAL) { |
| 182 | console.log('Server cries:', data); |
| 183 | } |
| 184 | }); |
| 185 | server.on('close', (code) => { |
| 186 | console.log(`Server process exited with code ${code}`); |
| 187 | if (onClose) { |
| 188 | onClose(server); |
| 189 | } |
| 190 | }); |
| 191 | if (detached) { |
| 192 | server.unref(); |
| 193 | } |
| 194 | return server; |
| 195 | } |
| 196 | |
| 197 | cur.server = runServer((closedServer) => { |
| 198 | if (cur.server === closedServer) { |