2025-07-30 11:02:22 +01:00

169 lines
5.2 KiB
JavaScript

require('dotenv').config();
const logger = require('perfect-logger');
// import express from 'express';
const express = require('express')
const basicAuth = require('express-basic-auth')
const app = express();
let usersList = {
"Sarah": "TEST",
"Karl": "TEST"
}
const users = {
users: usersList,
challenge: true
}
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.get('/', basicAuth(users), (req, res) => {
return res.send('Received a GET HTTP method');
});
const port = process.env.PORT || 3000;
app.listen(port, () =>
console.log(`Example app listening on port ${port}!`),
);
const token = process.env.BOT_TOKEN;
const name = process.env.BOT_NAME;
// Configure Settings
try {
logger.initialize(name + "_bot", {
logLevelFile: 0, // Log level for file
logLevelConsole: 0, // Log level for STDOUT/STDERR
logDirectory: 'logs/', // Log directory
// customBannerHeaders: 'This is a custom banner' // Custom Log Banner
});
} catch (error) {
if (error.code !== 'EEXIST') {
throw error;
}
}
const TelegramBot = require('node-telegram-bot-api');
const common = require('./data/bot/lib/common')
const questions = require('./data/bot/lib/questions')
const requests = require('./data/bot/lib/requests')
const bot_welcome = require('./data/bot/functions/welcomeMessage')
const bot_faq_whatAppToUse = require('./data/bot/functions/faq/whatAppToUse')
const bot_faq_subscription = require('./data/bot/functions/faq/subscriptions')
const bot_subStatus = require('./data/bot/functions/requests/updateSubStatus')
const shortcuts = require('./data/bot/lib/shorcuts')
const bot_joke = require('./data/bot/functions/requests/joke')
// Load group data using utils
const utils = require('./data/bot/lib/utils');
let commands = utils.loadCommands();
let navigation = utils.loadFAQ();
let chat = utils.loadChat();
let jointArray = navigation.concat(chat);
const bot = new TelegramBot(token, { polling: true, cancelThrottledRequest: true });
bot.on('new_chat_members', (msg) => {
bot_welcome.welcomeMessage(bot, msg, logger)
});
bot.on('message', (msg) => {
if (msg.text && msg.text.toString().includes("/sub_status")) {
questions.subStatus(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/football_today")) {
requests.football_today(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/joke")) {
bot_joke.tellMe(bot, msg, logger, name)
}
if (msg.text && msg.text.toString().includes("/updates_page")) {
questions.updates_page(bot, msg, logger)
}
if (msg.text && msg.text.toString() === "- What player for my sub?") {
bot_faq_whatAppToUse.main(bot, msg, logger)
}
bot_faq_whatAppToUse.appSwitch(bot, msg, logger)
if (msg.text && msg.text.toString() === "- Subscription Options") {
bot_faq_subscription.newPrices(bot, msg, logger)
}
for (const x of jointArray) {
if (msg.text && msg.text.toString() === x.NAME) {
common.chat(bot, msg, x.NAME, logger)
}
}
for (const x of commands) {
if (msg.text && msg.text.toString().includes(x.NAME)) {
common.commands(bot, msg, x.NAME, logger)
}
}
if (msg.text && msg.text.toString().includes("/password")) {
match = msg.text.substring(10);
questions.password(bot, msg, match, logger)
}
if (msg.text && msg.text.toString().toLowerCase().includes("set sub")) {
bot_subStatus.setSubStatus(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/maintenance")) {
shortcuts.maintenance(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/unlinked_code")) {
shortcuts.unlinked_code(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/vpn")) {
shortcuts.vpn(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/installing_unlinked")) {
shortcuts.installing_unlinked(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/app_videos")) {
shortcuts.app_videos(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/webplayer")) {
shortcuts.webplayer(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/what_player_to_use")) {
shortcuts.what_player_to_use(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/plex")) {
shortcuts.plex(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/ios")) {
shortcuts.ios(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/android")) {
shortcuts.android(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/request_vod")) {
shortcuts.vodReq(bot, msg, logger)
}
// if (msg.text && msg.text.toString().includes("/firesticks")) {
// shortcuts.firesticks(bot, msg, logger)
// }
if (msg.text && msg.text.toString().includes("/sports")) {
shortcuts.sports(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/tv_today")) {
requests.tv_today(bot, msg, logger)
}
if (msg.text && msg.text.toString().includes("/install_bob15")) {
shortcuts.bob15(bot, msg, logger)
}
})