-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
61 lines (49 loc) · 1.59 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
process.chdir(__dirname)
const logger = require('./logger')
global.logger = require('./logger')
require('dotenv').config()
const server = require('./server')
const jsonFiles = require('./tools/jsonFiles')
const main = async () => {
let settings = await jsonFiles.loadSettings()
if (!settings) {
settings = defaultSettings()
}
global.settings = settings
global.steamManager = require('./steam/steamManager')
if (process.argv.length >= 5) {
steamManager.login(process.argv[2], process.argv[3], process.argv[4])
} else if (checkAutoLogin()) {
steamManager.autologin()
} else {
logger.log('Not enough arguments. Not logging in.')
}
global.telegramBot = require('./telegram/telegramBot')
let chatBot = steamManager.getChatBot()
telegramBot.setSteamChatBot(chatBot)
chatBot.setTelegramBot(telegramBot)
if (process.env.SERVER_PORT != null) {
server.createServer()
} else {
logger.log('Server port not defined in the .env file. The app won\'t create a web interface.')
}
}
const checkAutoLogin = () => {
const user = process.env.STEAM_USER
const pass = process.env.STEAM_PASSWORD
const secret = process.env.STEAM_SECRET
return user != null && pass != null && secret != null && settings.useAutoLogin
}
const defaultSettings = () => {
return {
chatID: null,
defaultSteamState: 'Offline',
useAutoLogin: true,
useAutoReply: true,
relayStringMatch: '//',
informLogin: true,
guestPower: 0
}
}
logger.log('Starting application...')
main()