首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >node.js脚本不起作用

node.js脚本不起作用
EN

Stack Overflow用户
提问于 2017-07-20 14:51:50
回答 2查看 158关注 0票数 0

我的脚本启动不了。错误是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

如何将其编辑为“外部严格模式”...?

我不知道如何编辑它才能正常工作。

我已经下载了所有模块。

以下是脚本的源代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var SteamCommunity = require('steamcommunity');
var SteamTotp = require('steam-totp');
var mysql = require('mysql');
var log4js = require('log4js');
var SteamTradeOffers = require('steam-tradeoffers');
var async = require('async');

var pool  = mysql.createPool({
    connectionLimit : 10,
    database: 'sql_name',
    host: 'localhost',
    user: 'admin123',
    password: 'hidden'
});

var community = new SteamCommunity();
var offers = new SteamTradeOffers();
log4js.configure({
    appenders: [
        { type: 'console' },
        { type: 'file', filename: 'logs/bot_'+process.argv[2]+'.log' }
    ]
});
var logger = log4js.getLogger();

var express = require('express');
var app = express();

app.get('/coderequest12/', function (req, res) {
    var assetids = req.query['assetids'];
    assetids = assetids.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    var steamid = req.query['steamid'];
    var senditems = [];
    for(var i = 0; i < assetids.length; i++) {
        if(assetids[i] == "") continue;
        senditems.push({
            appid: 730,
            contextid: 2, 
            assetid: assetids[i]
        });
    }
    var code = makecode();
    console.log(partner, token, checksum, assetids, senditems);
    offers.makeOffer({
        partnerAccountId: partner,
        accessToken: token,
        itemsFromThem: senditems,
        itemsFromMe: [],
        message: 'Security code: '+code
    }, function(err, r) {
        if(err) {
            logger.error('Error sending trade');
            logger.debug(err);
            res.json({
                success: false,
                error: err.toString()
            });
        } else {
            offers.loadPartnerInventory({
                partnerSteamId: steamid,
                tradeOfferId: r.tradeofferid,
                appId: 730,
                contextId: 2,
                language: 'russian'
            }, function(err, rr) {
                if(err) {
                    logger.debug(err);
                    res.json({
                        success: false,
                        error: err.toString()
                    });
                } else {
                    var names = [];
                    for(var i = 0; i < senditems.length; i++) {
                        for(var a = 0; a < rr.length; a++) {
                            if((senditems[i].assetid == rr[a].id) && (!rr[a].ss)) {
                                names.push({market_hash_name: rr[a].market_hash_name, icon_url: rr[a].icon_url});
                                rr[a].ss = 1;
                                continue;
                            }
                        }
                    }
                    res.json({
                        success: true,
                        code: code,
                        amount: checksum,
                        tid: r.tradeofferid,
                        items: names
                    });
                }
            });
        }
    });
});

app.get('/coderequestrew/', function (req, res) {
    var names = req.query['names'];
    names = names.split(',');
    var partner = req.query['partner'];
    var token = req.query['token'];
    var checksum = req.query['checksum'];
    offers.loadMyInventory({
        appId: 730,
        contextId: 2
    }, function(err, items) {
        if(err) {
            logger.error('Error sending trade');
            logger.debug(err);
            res.json({
                success: false,
                error: err.toString()
            });         
        } else {
            var senditems = [];
            for(var i = 0; i < names.length; i++) {
                for(var a = 0; a < items.length; a++) {
                    if((names[i] == items[a].market_hash_name) && (!items[a].ss)) {
                        senditems.push({
                            appid: 730,
                            contextid: 2, 
                            assetid: items[a].id
                        });
                        if(senditems.length == names.length-1) break;
                        items[a].ss = 1;
                        continue;
                    }
                    if(senditems.length == names.length-1) break;
                }
            };
            var code = makecode();
            console.log(partner, token, checksum, names, senditems);
            offers.makeOffer({
                partnerAccountId: partner,
                accessToken: token,
                itemsFromThem: [],
                itemsFromMe: senditems,
                message: 'Security code: '+code
            }, function(err, r) {
                if(err) {
                    logger.error('Error sending trade');
                    logger.debug(err);
                    res.json({
                        success: false,
                        error: err.toString()
                    });
                } else {
                    res.json({
                        success: true,
                        code: code,
                        amount: -checksum,
                        tid: r.tradeofferid,
                        state: 2
                    });
                }
            });
        }
    });
});

app.get('/checkTrade/', function (req, res) {
    var tid = req.query['tid'];
    offers.getOffer({
        tradeofferid: tid
    }, function(err, trade) {
        if(err) {
            logger.error('Error checking trade');
            logger.debug(err);
            res.json({
                success: false,
                error: err.toString()
            });
        } else {
            logger.debug(trade);
            if(trade.response.offer.trade_offer_state == 3) {
                res.json({
                    success: true,
                    action: 'accept',
                    result: 'Coins have been added to your balance'
                });
            } else if(trade.response.offer.trade_offer_state == 7) {
                res.json({
                    success: true,
                    result: 'You are declined trade',
                    action: 'cross'
                });
            } else {
                res.json({
                    success: false,
                    error: 'You are not accept trade'
                });
            }
        }
    });
});

function cancelTrade(offerid) {
    offers.declineOffer({
        tradeOfferId: offerid
    }, function(err, log) {
        if (err) {
            logger.error('Could not cancel the trade #'+offerid);
            logger.debug(err);
            return;
        }
        logger.debug(log);
        logger.trace('Offer #'+offerid+' canceled');
    });
}

    query('SELECT * FROM `bots` WHERE `id` = '+pool.escape(process.argv[2]), function(err, res) {
    if((err) || (!res[0])) {
        logger.error('Cant find account');
        process.exit(0);
        return;
    }
    account = res[0];
    app.listen(3000+account.id);
    logger.trace('We got account info');
    account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
    account.auth = false;
    logger.debug(account);
    community.login(account, login);
});

community.on('confKeyNeeded', function(tag, callback) {
    callback(null, time, SteamTotp.getConfirmationKey(account.identity_secret, time(), tag));
});

community.on('newConfirmation', function(confirmation) {
    var time = time();
    var key = SteamTotp.getConfirmationKey(account.identity_secret, time, 'allow');
    confirmation.respond(time, key, true, function(err) {
        if(err) {
            logger.error('Error on mobile auth');
            logger.debug(err);
            return;
        }
        logger.trace('Trade sucesfully confirmed');
    });
});

function query(sql, callback) {
    if (typeof callback === 'undefined') {
        callback = function() {};
    }
    pool.getConnection(function(err, connection) {
        if(err) return callback(err);
        logger.info('DB connection ID: '+connection.threadId);
        connection.query(sql, function(err, rows) {
            if(err) return callback(err);
            connection.release();
            return callback(null, rows);
        });
    });
}

function login(err, sessionID, cookies, steamguard) {
    if(err) {
        logger.error('Auth error');
        logger.debug(err);
        if(err.message == "SteamGuardMobile") {
            account.twoFactorCode = SteamTotp.generateAuthCode(account.shared_secret);
            logger.warn('Error in auth: '+account.twoFactorCode);
            setTimeout(function() {
                community.login(account, login);
            }, 5000);
            return;
        }
        process.exit(0);
    }
    logger.trace('Sucesfully auth');
    account.sessionID = sessionID;
    account.cookies = cookies;
    community.getWebApiKey('removed', webApiKey);
    community.startConfirmationChecker(10000, account.identity_secret);
}

function webApiKey(err, key) {
    if(err) {
        logger.error('Cant make apikey')
        logger.debug(err);
        process.exit(0);
        return;
    }
    account.key = key;
    logger.trace('API key bot '+account.accountName+' '+account.key);
    offersSetup();
    community.loggedIn(checkLoggedIn);
}

function offersSetup() {
    logger.trace('Loaded steam-tradeoffers');
    offers.setup({
        sessionID: account.sessionID,
        webCookie: account.cookies,
        APIKey: account.key
    });
}

function checkLoggedIn(err, loggedIn, familyView) {
    if((err) || (!loggedIn)) {
        logger.error('We arent logged in')
        process.exit(0);
    } else {
        logger.trace('Logged in');
        account.auth = true;
    }
}

function makecode() {
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    for(var i=0; i < 5; i++)
        text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
}

function time() {
    return parseInt(new Date().getTime()/1000)
}

如果你知道更多的信息,请在评论中告诉我。

EN

回答 2

Stack Overflow用户

发布于 2017-07-20 14:55:53

在文件的第一行添加'use strict';

票数 0
EN

Stack Overflow用户

发布于 2017-07-20 18:48:12

我修复了第一个错误。

但现在它显示了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
            throw new Error(
        ^
Error: Problem with log4js configuration: ({ appenders:
   [ { type: 'console' },
     { type: 'file', filename: 'logs/bot_undefined.log' } ] }) - must have a property "appenders" of type object.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45218220

复制
相关文章
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
黑夜给了我黑色的眼睛我却用它来寻找光明。既然是黑色的眼睛那就设置一波黑色背景吧。在黑色额背景中寻找光明。
全栈程序员站长
2022/07/28
3.7K0
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
pycharm背景设置为黑色_pycharm设置护眼背景颜色
pycharm更改整体背景颜色(黑-白) 打开pycharm: 1、左上角File —- Settings
全栈程序员站长
2022/09/25
1.7K0
pycharm背景设置为黑色_pycharm设置护眼背景颜色
PDF怎么加背景颜色?如何给PDF文件添加背景
PDF怎么加背景颜色?经常办公的朋友肯定会接触到很多的PDF文件吧,小编每天上班都快被PDF文件淹没了,每天查看那么多的文件也会有视觉疲劳的,想要给PDF文件添加一个有朝气一点的背景,你们知道怎么做嘛?小编这里有一个比较实用的方法,分享给大家,看看你会不会用得到!
用户5843321
2019/10/16
3.6K0
PDF怎么加背景颜色?如何给PDF文件添加背景
GitHub图标SVG版本
有没有发现,网页上的图片越来越多地使用svg矢量图来替代光栅图png,直接将svg嵌入到html中非常方便,事实上,光栅图比如相机照片中绝大部分像素都被人眼忽略掉了,造成大量冗余,矢量图才理应是最合理的图片格式。如今,各大网站的图标基本都是svg,比如GitHub:
Jean
2022/11/25
1K0
GitHub图标SVG版本
pycharm如何修改背景颜色_如何设置幻灯片背景颜色为自定义
Pycharm可以通过设置主题来设定背景颜色,但主题的背景颜色也仅仅局限特定的几种,通过如下的方式可以自定义背景颜色。
全栈程序员站长
2022/09/25
1.6K0
pycharm如何修改背景颜色_如何设置幻灯片背景颜色为自定义
设置pycharm背景颜色_python设置背景颜色
1、选择不同的主题、选择背景图片            Appearnce & Behavior  –>  Appearance
全栈程序员站长
2022/09/27
3.8K0
为UINavigationBar添加自定义背景
@implementation UINavigationBar (UINavigationBarCategory) - (void)drawRect:(CGRect)rect { //颜色填充 // UIColor *color = [UIColor redColor]; // CGContextRef context = UIGraphicsGetCurrentContext(); // CGContextSetFillColor(context, CGColorGetComponents( [colo
用户1172164
2018/01/16
7750
为UINavigationBar添加自定义背景
ubuntu为脚本添加桌面图标
但有个问题就是,ubuntu 桌面默认是没有应用图标的,我们大多需要将应用的脚本添加到 PATH 环境中,然后用命令启动。
Frank909
2020/05/09
2K0
Vue 项目引入 SVG 图标
SVG 是一种可缩放矢量图形(Scalable Vector Graphics,SVG)是基于可扩展标记语言(XML),用于描述二维矢量图形的图形格式。SVG 由 W3C 制定,是一个开放标准。
数媒派
2022/12/01
2.1K0
用webfont为你的网站添加图标
实际上e942是这个字符的16进制unicode编码,在unicode编码中,E000-F8FF是用户自定义区,形状可以任意制定。如果我们向网站引入自定义后的字体,就可以用上面的方式显示图标了。
gojam
2019/05/14
9250
为Django网站添加favicon.ico图标
默认情况下,浏览器访问一个网站的时候,同时还会向服务器请求"/favicon.ico"这个URL,目的是获取网站的图标。
菲宇
2019/06/13
1.5K0
为Django网站添加favicon.ico图标
默认情况下,浏览器访问一个网站的时候,同时还会向服务器请求"/favicon.ico"这个URL,目的是获取网站的图标。
小贝壳
2020/03/05
1.3K0
【CSS】:颜色、背景
CSS 数据类型 <color> 表示一种标准RGB色彩空间(sRGB color space)的颜色。一种颜色可以用以下任意的方式来描述:
WEBJ2EE
2020/03/02
2.8K0
SVG绘制渐变颜色文字
H5提供了很多有意思的新特性,工作中用的比较少,但是这仍然不能阻碍我们对它的兴趣,先给大家上个图,如果要用CSS来写这个效果,如何才能实现呢?
越陌度阡
2020/11/26
2.2K0
SVG绘制渐变颜色文字
ggthemr|为ggplot图形添加主题和颜色
ggthemr包提供了一种快速简便的方法来完全更改ggplot2图形的外观,并根据自己的调色板快速创建主题。
生信编程日常
2020/06/16
1.1K0
pycharm的背景颜色设置_css中设置背景颜色
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174387.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
7.1K0
pycharm的背景颜色设置_css中设置背景颜色
Android--利用Palette实现根据图标自动设置背景颜色的组件(银行卡背景)
先放效果图: 银行卡背景.jpg 首先看下布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/
aruba
2020/07/02
1.4K0
pycharm设置背景颜色_idea自定义背景颜色
  pycharm原始的背景是白底黑字或者黑底白字,我都不是很喜欢。我配置的是豆沙绿背景,字还是黑字,效果还不错,这种是比较护眼的。如图:
全栈程序员站长
2022/09/27
2K0
pycharm设置背景颜色_idea自定义背景颜色
为matlab GUI添加背景图片
为GUI添加一个背景图片,不仅可以让我们的界面变得漂亮大气上档次,而且软件对与用户的交互更加友好。用C或者C++写过软件界面的人都知道,这件事情可以轻而易举的办到,那么问题来了,怎么为matlab的GUI添加一个背景图片呢?其实这个操作也很简单,但是如果是第一次做这个,可能需要折腾好久。在这里我希望跟大家分享一下这个小技巧,避免大家遇到同样的问题再走弯路。欢迎交流! 首先简单说一下matlab制作GUI的方法,其实这里有2种方法,这里说一种比较简单的方法,即利用matlab的GUI工具进行,特别对于大型软件开发来说,这种方法是很方便的。在matlab命令行里面输入guide,打开向导,界面如下图所示。
全栈程序员站长
2022/07/01
4.5K0
为matlab GUI添加背景图片
点击加载更多

相似问题

当背景颜色为黑色时,白色svg图标不可见。

12

在SVG为背景时填充SVG颜色

10

SVG图标破坏以下SVG图标的颜色

224

OpenLayers颜色SVG图标

13

在不同背景下更改svg图标的笔画颜色

131
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文