Browse Source

[tsh] make default shell os dependent

master
Pavan Jadhaw 6 years ago
parent
commit
fccc263eae
  1. 15
      app.js

15
app.js

@ -1,5 +1,6 @@
const { spawn } = require('child_process'); const { spawn } = require('child_process');
const { EOL } = require('os'); const { EOL } = require('os');
const os = require('os');
const Telegraf = require('telegraf'); const Telegraf = require('telegraf');
const { path } = require('./util/index.js'); const { path } = require('./util/index.js');
@ -21,18 +22,24 @@ const bot = new Telegraf(config.botApiKey);
const sessions = []; const sessions = [];
sessions.history = []; sessions.history = [];
bot.use((ctx, next) => bot.use((ctx, next) =>
validator(ctx) validator(ctx)
.then(next) .then(next)
.catch(responder.fail( .catch(responder.fail(
`Username Not authenticated!` `Username Not authenticated!`
))); )));
// get os info
const home = os.homedir();
const hostname = os.hostname();
const username = os.userInfo().username;
const defaultShell = os.platform() === 'win32' ? 'cmd.exe' : 'bash';
bot.command('start', bot.command('start',
ctx => { ctx => {
ctx.replyWithHTML('Welcome to tsh -- <code>Telegram Shell!</code>'); ctx.replyWithHTML(`Welcome to tsh -- <code>Telegram Shell!</code><br><br>You are now connected to <code>${hostname}</code> as <strong>${username}</strong>`);
const newProc = spawn('bash', { const newProc = spawn(defaultShell, {
cwd: '/home' cwd: home
}); });
newProc.stdout.setEncoding('utf8'); newProc.stdout.setEncoding('utf8');
sessions.push(newProc); sessions.push(newProc);

Loading…
Cancel
Save