polling fix, football today, welcome message

This commit is contained in:
karl.hudgell 2020-06-23 10:51:07 +01:00
parent 1645d44e69
commit 8607e4a3a5
3 changed files with 274 additions and 37 deletions

116
app.js
View File

@ -1,66 +1,110 @@
require('dotenv').config();
var request = require("request");
const logger = require('perfect-logger');
const TelegramBot = require('node-telegram-bot-api');
// Configure Settings
logger.initialize('FrontEndDriver', {
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
});
const token = process.env.BOT_TOKEN;
const name = process.env.BOT_NAME;
const channel = process.env.CHANNEL
const username = process.env.BOT_USERNAME;
// Configure Settings
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
});
const bot = new TelegramBot(token, {
polling: true
});
bot.on('new_chat_members', (msg) => {
const newUserMention = "<a href=\"tg:\/\/user?id=" + msg.new_chat_member.id + "\">@" + msg.new_chat_member.first_name + "<\/a>"
bot.sendMessage(msg.chat.id, newUserMention + " you bastard", { parse_mode: "HTML" });
logger.info("ID - " + msg.new_chat_member.id + " First Name - " + msg.new_chat_member.first_name + " joined the group");
});
bot.on('message', (msg) => {
const help = "help";
if (msg.text.toString().toLowerCase().includes(help)) {
if (msg.text && msg.text.toString().toLowerCase().includes(help)) {
const userMention = "<a href=\"tg:\/\/user?id=" + msg.from.id + "\">@" + msg.from.first_name + "<\/a>"
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked for help");
bot.sendMessage(msg.chat.id, "Hello " + userMention + " please PM me @" + process.env.BOT_USERNAME + " and i'll try to help.", { parse_mode: "HTML" });
}
const help_filelinked = "filelinked code";
if (msg.text.toString().toLowerCase().includes(help_filelinked)) {
if (msg.text && msg.text.toString().toLowerCase().includes(help_filelinked)) {
const userMention = "<a href=\"tg:\/\/user?id=" + msg.from.id + "\">@" + msg.from.first_name + "<\/a>"
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked for fileLinked code");
bot.sendMessage(msg.chat.id, "Hello " + userMention + " please PM me @" + process.env.BOT_USERNAME + " and i'll give you the code", { parse_mode: "HTML" });
}
const bye = "bye";
if (msg.text.toString().toLowerCase().includes(bye)) {
if (msg.text && msg.text.toString().toLowerCase().includes(bye)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Said bye");
bot.sendMessage(msg.chat.id, "Bye " + msg.from.first_name + ", Hope to see you again.");
}
const love = "i love you ";
const lovePlus = love + name.toLowerCase()
if (msg.text.toString().toLowerCase().includes(lovePlus)) {
if (msg.text && msg.text.toString().toLowerCase().includes(lovePlus)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Said they loved me");
bot.sendMessage(msg.chat.id, "I love you too " + msg.from.first_name);
}
const footballToday = "football today";
if (msg.text && msg.text.toString().toLowerCase().includes(footballToday)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " asked for football today");
var options = {
method: 'GET',
url: 'https://football-pro.p.rapidapi.com/api/v2.0/livescores',
qs: { tz: 'Europe/London', leagues: '8', include: 'localTeam,visitorTeam' },
headers: {
'x-rapidapi-host': 'football-pro.p.rapidapi.com',
'x-rapidapi-key': process.env.RAPIDAPI_API_KEY,
useQueryString: true
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
let jsonBody = JSON.parse(body)
if (jsonBody.data.length > 0) {
bot.sendMessage(msg.chat.id, 'Yes there is!').then(() => {
return jsonBody.data.forEach(function (entry) {
var homeTeam = entry.localTeam.data.name
var awayTeam = entry.visitorTeam.data.name
var startTime = entry.time.starting_at.time
console.log(entry);
bot.sendMessage(msg.chat.id, homeTeam + " VS " + awayTeam + " @ " + startTime)
});
})
} else {
bot.sendMessage(msg.chat.id, 'Sadly there is no football today :(')
}
})
}
const fuuk = "fuck off ";
const fuuckPlus = fuuk + name.toLowerCase()
if (msg.text.toString().toLowerCase().includes(fuuckPlus)) {
if (msg.text && msg.text.toString().toLowerCase().includes(fuuckPlus)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " told me to fuck off");
bot.sendMessage(msg.chat.id, "Fuck off yourself " + msg.from.first_name + "!");
}
const whatSubShouldIBuy = "what sub should i buy?"
const subs = ["VIP!", "Premium Plus!", "Old Premium!", "Gold!", "Bronze!", "New Premium!", "KDB!", "Technoid!", "Bluemoon!", "SOL!", "Gambler!", "All of em!"]
if (msg.text.toString().toLowerCase().includes(whatSubShouldIBuy)) {
if (msg.text && msg.text.toString().toLowerCase().includes(whatSubShouldIBuy)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked what sub to buy");
const randomSub = subs[Math.floor(Math.random() * subs.length)];
bot.sendMessage(msg.chat.id, randomSub);
@ -69,14 +113,14 @@ bot.on('message', (msg) => {
const deal = "deal";
const me = 434187971
const sarah = 868225940
const MANC = 470861863
if (msg.text.toString().toLowerCase().match(/\bdeal\b/)) {
const MANC = 470861863
if (msg.text && msg.text.toString().toLowerCase().match(/\bdeal\b/)) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Said we got a deal!");
bot.sendMessage(msg.chat.id, "I LOVE it when " + msg.from.first_name + ", does a deal :)");
}
const subPrice = "- subscription prices";
if (msg.text.toString().toLowerCase() === subPrice) {
if (msg.text && msg.text.toString().toLowerCase() === subPrice) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Got subscription Prices");
bot.sendMessage(msg.chat.id, "PREMIUM PLUS ----£30\nVIP-----------------------£25\nOLD PREMIUM -----£17\nBLUEMOON ---------£15\nKDB --------------------£14\nGOLD ------------------£13\nTECHNOID -----------£13\nBRONZE --------------£10\nSOL ---------------------£10")
.then(() => {
@ -87,7 +131,7 @@ bot.on('message', (msg) => {
}
const howToSignUp = "- how to get a subscription?";
if (msg.text.toString().toLowerCase() === howToSignUp) {
if (msg.text && msg.text.toString().toLowerCase() === howToSignUp) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked how to get a subscription");
bot.sendMessage(msg.chat.id, "To purchase a subscription you need to send a DM to any of the Admins in the group @Scotslad, @manclad72 or @bob_15.")
.then(() => {
@ -98,13 +142,13 @@ bot.on('message', (msg) => {
}
const suburls = "- subscription urls";
if (msg.text.toString().toLowerCase() === suburls) {
if (msg.text && msg.text.toString().toLowerCase() === suburls) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked about subscription urls");
bot.sendMessage(msg.chat.id, "In this IPTV room we don't give out sub URLs or m3us. We have dedicated apps to play all subs on your Android box or IPTV player in our FileLinked.");
}
const multipleDevices = "- can i stream on multiple devices?";
if (msg.text.toString().toLowerCase() === multipleDevices) {
if (msg.text && msg.text.toString().toLowerCase() === multipleDevices) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked if they could stream multiple devices");
bot.sendMessage(msg.chat.id, "No. All subs sold is this room are one connection subs unless otherwise stated.\n\nThis means that you can have your sub loaded onto as many devices as you want (eg Android phone, tablet, Firestick, Android TV box) BUT you can only play the sub from one device at a time.")
.then(() => {
@ -113,7 +157,7 @@ bot.on('message', (msg) => {
}
const updatesGroup = "- updates group";
if (msg.text.toString().toLowerCase() === updatesGroup) {
if (msg.text && msg.text.toString().toLowerCase() === updatesGroup) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Got the updates group info");
bot.sendMessage(msg.chat.id, "The updates groups can be found here")
.then(() => {
@ -124,7 +168,7 @@ bot.on('message', (msg) => {
}
const installOnFire = "- install filelinked on firestick";
if (msg.text.toString().toLowerCase() === installOnFire) {
if (msg.text && msg.text.toString().toLowerCase() === installOnFire) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Found out how to install on fireStick");
bot.sendMessage(msg.chat.id, "Step 1:\n\nGo to Settings > device/my fire tv > developer options > apps from unknown sources on")
.then(() => {
@ -139,7 +183,7 @@ bot.on('message', (msg) => {
}
const installoOnAndroid = "- install filelinked on android";
if (msg.text.toString().toLowerCase() === installoOnAndroid) {
if (msg.text && msg.text.toString().toLowerCase() === installoOnAndroid) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Found out how to install on Android");
bot.sendMessage(msg.chat.id, "First thing you need to do is go to browser on your Android TV box and enter www.filelinked.com")
.then(() => {
@ -156,13 +200,13 @@ bot.on('message', (msg) => {
}
const SurfShark = "- vpn (surfshark)";
if (msg.text.toString().toLowerCase() === SurfShark) {
if (msg.text && msg.text.toString().toLowerCase() === SurfShark) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Read the VPN details");
bot.sendMessage(msg.chat.id, "SurfShark is the VPN that we advise you use on your device to bypass the blocks,\n\nYou can install this on your device from our FileLinked\n\nWe provide a username and password for you to use in the updates groups. DO NOT SHARE THE DETAILS");
}
const iptvGuidance = "- iptv guidance";
if (msg.text.toString().toLowerCase() === iptvGuidance) {
if (msg.text && msg.text.toString().toLowerCase() === iptvGuidance) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Read IPTV Guidance");
bot.sendMessage(msg.chat.id, "🚨Basic IPTV Guidance🚨\n\nPlease see below some very basic IPTV guidance for those who are new to IPTV")
.then(() => {
@ -179,7 +223,7 @@ bot.on('message', (msg) => {
}
const iptvMaintenance = "- basic iptv maintenance";
if (msg.text.toString().toLowerCase() === iptvMaintenance) {
if (msg.text && msg.text.toString().toLowerCase() === iptvMaintenance) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Read IPTV Maintenance");
bot.sendMessage(msg.chat.id, "🚨Basic IPTV Maintenance🚨\n\nReboot Router, Reboot Device.\nClear all app caches - Go to settings - Applications - Manage installed applications - click on app and select clear cache. Do this for all installed applications.")
.then(() => {
@ -194,13 +238,13 @@ bot.on('message', (msg) => {
}
const doIneedVPN = "- do i need a vpn?";
if (msg.text.toString().toLowerCase() === doIneedVPN) {
if (msg.text && msg.text.toString().toLowerCase() === doIneedVPN) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked if they needed a VPN");
bot.sendMessage(msg.chat.id, "You only need a VPN if your subscription isn't working at the time of use, normally only when the Football is on do the subs get blocked, if they do, connect using SurfShark using the details provided in the updates channel, DO NOT SHARE THESE DETAILS!");
}
const iptvBible = "- iptv bible";
if (msg.text.toString().toLowerCase() === iptvBible) {
if (msg.text && msg.text.toString().toLowerCase() === iptvBible) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Read the IPTV Bible");
bot.sendMessage(msg.chat.id, "So the first thing I want to get out of the way is the stigma of download speeds and requirements for download speed. \r\n\r\nIn streaming like we do you will be just fine with at least 5mbps. I myself have streamed tethering off my phone with only 3mbps, but let\u2019s set the standard at 5mbps. If you have at least 5mbps and you are having issues with buffering, the download speed is not your problem. \r\n\r\nA lot of people seem to think that buffering is caused by low download speeds but that is just not true. \r\n\r\nLike I said above you can stream perfectly fine on 5mbps, in the same token you can have GB download speeds and have buffering issues.\r\n\r\nThere are a few things that will cause buffering.")
.then(() => {
@ -217,13 +261,13 @@ bot.on('message', (msg) => {
}
const howToResetCache = "- how do i clear cache?";
if (msg.text.toString().toLowerCase() === howToResetCache) {
if (msg.text && msg.text.toString().toLowerCase() === howToResetCache) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked how to clear cache");
bot.sendMessage(msg.chat.id, "Cache files are main source of errors and problems in functioning of Apps, by clearing cache may solve most of the problems associated with Apps. To clear cache, go to Settings > Application > Manage apps > Select \"All\" tabs, select the app which was producing error and then tap Clear cache.");
}
const whatAppShouldIUse = "- what app should i use?";
if (msg.text.toString().toLowerCase() === whatAppShouldIUse) {
if (msg.text && msg.text.toString().toLowerCase() === whatAppShouldIUse) {
logger.info("ID - " + msg.from.id + " First Name - " + msg.from.first_name + " Asked what app to use");
bot.sendMessage(msg.chat.id, "What Subscription do you have?", {
"reply_markup": {
@ -248,17 +292,17 @@ bot.on('message', (msg) => {
const vip = "- vip"
const premiumPlus = "- premium plus"
const oldPremium = "- old premium"
if (msg.text.toString().toLowerCase() === vip || msg.text.toString().toLowerCase() === premiumPlus || msg.text.toString().toLowerCase() === oldPremium) {
if (msg.text && msg.text.toString().toLowerCase() === vip || msg.text && msg.text.toString().toLowerCase() === premiumPlus || msg.text && msg.text.toString().toLowerCase() === oldPremium) {
bot.sendMessage(msg.chat.id, "You can use -\nXCIPTV Blue\nSky Q Yellow\nSMARTERS Green\n\nAll can be downloaded from our FileLinked")
}
const gold = "- gold"
if (msg.text.toString().toLowerCase() === gold) {
if (msg.text && msg.text.toString().toLowerCase() === gold) {
bot.sendMessage(msg.chat.id, "You can use -\nXCIPTV Red\nSky Q Yellow\nSMARTERS Green\n\nAll can be downloaded from our FileLinked")
}
const bronze = "- bronze"
if (msg.text.toString().toLowerCase() === bronze) {
if (msg.text && msg.text.toString().toLowerCase() === bronze) {
bot.sendMessage(msg.chat.id, "You can use -\nXCIPTV Red\nSMARTERS Green\n\nAll can be downloaded from our FileLinked")
}
@ -268,7 +312,7 @@ bot.on('message', (msg) => {
const bluemoon = "- bluemoon"
const sol = "- sol"
const gambler = "- gambler"
if ((msg.text.toString().toLowerCase() === newPremium) || (msg.text.toString().toLowerCase() === kdb) || (msg.text.toString().toLowerCase() === gambler) || (msg.text.toString().toLowerCase() === technoid) || (msg.text.toString().toLowerCase() === bluemoon) || (msg.text.toString().toLowerCase() === sol)) {
if ((msg.text && msg.text.toString().toLowerCase() === newPremium) || (msg.text && msg.text.toString().toLowerCase() === kdb) || (msg.text && msg.text.toString().toLowerCase() === gambler) || (msg.text && msg.text.toString().toLowerCase() === technoid) || (msg.text && msg.text.toString().toLowerCase() === bluemoon) || (msg.text && msg.text.toString().toLowerCase() === sol)) {
bot.sendMessage(msg.chat.id, "You can use -\nSMARTERS Green\n\nAll can be downloaded from our FileLinked")
}

191
package-lock.json generated
View File

@ -37,6 +37,11 @@
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assertion-error": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
"integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@ -79,6 +84,16 @@
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chai": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
"integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
"requires": {
"assertion-error": "^1.0.1",
"deep-eql": "^0.1.3",
"type-detect": "^1.0.0"
}
},
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@ -87,6 +102,11 @@
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz",
"integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM="
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@ -108,6 +128,21 @@
"ms": "^2.1.1"
}
},
"deep-eql": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
"integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
"requires": {
"type-detect": "0.1.1"
},
"dependencies": {
"type-detect": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
"integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI="
}
}
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@ -126,6 +161,11 @@
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"diff": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
"integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8="
},
"dotenv": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
@ -176,6 +216,11 @@
"is-symbol": "^1.0.2"
}
},
"escape-string-regexp": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",
"integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE="
},
"eventemitter3": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
@ -234,6 +279,20 @@
"assert-plus": "^1.0.0"
}
},
"glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
"requires": {
"inherits": "2",
"minimatch": "0.3"
}
},
"growl": {
"version": "1.9.2",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
"integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8="
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@ -317,6 +376,27 @@
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jade": {
"version": "0.26.3",
"resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",
"integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",
"requires": {
"commander": "0.6.1",
"mkdirp": "0.3.0"
},
"dependencies": {
"commander": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz",
"integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY="
},
"mkdirp": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",
"integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4="
}
}
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
@ -353,6 +433,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"lru-cache": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI="
},
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@ -371,6 +456,60 @@
"mime-db": "1.44.0"
}
},
"minimatch": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
"requires": {
"lru-cache": "2",
"sigmund": "~1.0.0"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
}
},
"mocha": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",
"integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=",
"requires": {
"commander": "2.3.0",
"debug": "2.2.0",
"diff": "1.4.0",
"escape-string-regexp": "1.0.2",
"glob": "3.2.11",
"growl": "1.9.2",
"jade": "0.26.3",
"mkdirp": "0.5.1",
"supports-color": "1.2.0",
"to-iso-string": "0.0.2"
},
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"requires": {
"ms": "0.7.1"
}
},
"ms": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
}
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -467,6 +606,17 @@
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"rapidapi-connect": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/rapidapi-connect/-/rapidapi-connect-0.0.6.tgz",
"integrity": "sha512-uOCBZUhnUVeWFHbwqIhUSV21bAzRfy7GaTxKnW8p6C5dfy5BhmeSWCZftm0uQ/HxSBjRwyWQ4lqDMoZuiCptmQ==",
"requires": {
"chai": "^3.5.0",
"mocha": "^2.5.3",
"request": "^2.72.0",
"ws": "^2.1.0"
}
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@ -544,6 +694,11 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
},
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@ -598,6 +753,16 @@
}
}
},
"supports-color": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",
"integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4="
},
"to-iso-string": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz",
"integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE="
},
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@ -620,6 +785,16 @@
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type-detect": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
"integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI="
},
"ultron": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@ -652,6 +827,22 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz",
"integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=",
"requires": {
"safe-buffer": "~5.0.1",
"ultron": "~1.1.0"
},
"dependencies": {
"safe-buffer": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c="
}
}
}
}
}

View File

@ -16,6 +16,8 @@
"dependencies": {
"dotenv": "^8.2.0",
"node-telegram-bot-api": "^0.50.0",
"perfect-logger": "^2.0.1"
"perfect-logger": "^2.0.1",
"rapidapi-connect": "0.0.6",
"request": "^2.88.2"
}
}