Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用此代码获取SQLite错误,但它在另一个文件中有效_Javascript_Sqlite - Fatal编程技术网

Javascript 使用此代码获取SQLite错误,但它在另一个文件中有效

Javascript 使用此代码获取SQLite错误,但它在另一个文件中有效,javascript,sqlite,Javascript,Sqlite,每次运行时,它都会说表拖缆不存在,即使它存在。我正在使用的这段代码在另一个脚本的另一个文件中工作,现在它不工作了。。。有什么帮助吗?它所做的是检查Beam.pro中的API条目,并将拖缆在线状态与保存在数据库中的状态进行比较,如果因为找不到数据库而无法检查该数据库,则它不起作用 const Discord = require('discord.js'); const request = require('request'); const sql = require('sqlite'); sql.

每次运行时,它都会说表拖缆不存在,即使它存在。我正在使用的这段代码在另一个脚本的另一个文件中工作,现在它不工作了。。。有什么帮助吗?它所做的是检查Beam.pro中的API条目,并将拖缆在线状态与保存在数据库中的状态进行比较,如果因为找不到数据库而无法检查该数据库,则它不起作用

const Discord = require('discord.js');
const request = require('request');
const sql = require('sqlite');
sql.open('./streamers.sqlite');
let Config;

//look for config
try {
    Config = require('./config.json');
} catch(e) {
    console.log('Please create an config.json file in the main directory based off of the config.json.example file!\n' + e.stack);
    process.exit();
}

console.log('I am ready for work :)')

const bot = new Discord.Client()

function check() {
    for(let i = 0; Config.streamers.length > i; i++) {
         sql.get(`SELECT * FROM streamers WHERE streamer ='${Config.streamers[i]}'`).then(row => {
            if (!row) {
                sql.run('INSERT INTO streamers (streamer, status) VALUES (?, ?)', [Config.streamers[i], false]);
             } else {
                 request('https://beam.pro/api/v1/channels/'+Config.streamers[i],
                    function(err,res,body){
                        const data = JSON.parse(body);
                        if(!data) console.log(`The channel, ${Config.streamers[i]}, is not a valid beam.pro channel!`);
                        if(data.online === false && row.status == true) {
                            sql.run(`UPDATE streamers SET status = false WHERE streamer = ${Config.streamers[i]}`);
                            console.log(`${Config.streamers[i]} is offline!`)
                        };
                        if(streamers[i].online === true && data.online == true) return;
                        if(data.online === true && row.status == false) {
                            sql.run(`UPDATE streamers SET status = true WHERE streamer = ${Config.streamers[i]}`);
                            for(let j = 0; j < Config.channelID.length; j++){
                                const embed = new Discord.RichEmbed()
                                    .setTitle('Beam Alerts')
                                    .setDescription(`${Congif.streamers[i]} is now live!`)
                                    .addField(`Playing For:`, `${data.numFollowers} followers`,true)
                                    .addField(`${Config.streamers[i]} is Playing:`, '${data.type.name}',true)
                                    .setFooter('BaconHawk - NITEHAWK')
                                    .setColor([0,45,255])
                                    .setTimestamp()
                                bot.channels[Config.channelID[j]].sendEmbed(embed);
                            }
                        }
                    });
    }    
})
    }

}

bot.on('ready', () => setInterval(check, 60*5*1000));
bot.login(Config.bot_token)
const Discord=require('Discord.js');
const request=require('request');
const sql=require('sqlite');
open('./streamers.sqlite');
让配置;
//查找配置
试一试{
Config=require('./Config.json');
}捕获(e){
console.log('请基于config.json.example文件在主目录中创建config.json文件!\n'+e.stack);
process.exit();
}
console.log('I ready for work:)')
const bot=new Discord.Client()
函数检查(){
对于(设i=0;Config.streamers.length>i;i++){
sql.get(`SELECT*FROM streamers,其中streamer='${Config.streamers[i]}`)。然后(行=>{
如果(!行){
sql.run('插入拖缆(拖缆,状态)值(?,),[Config.streamers[i],false]);
}否则{
请求('https://beam.pro/api/v1/channels/“+配置拖缆[i],
功能(错误、恢复、正文){
const data=JSON.parse(body);
如果(!data)console.log(`通道,${Config.streamers[i]}不是有效的beam.pro通道!`);
if(data.online==false&&row.status==true){
sql.run(`updatestreamers SET status=false,其中streamer=${Config.streamers[i]}`);
console.log(`${Config.streamers[i]}处于脱机状态!`)
};
if(拖缆[i].online==true和&data.online==true)返回;
if(data.online==true&&row.status==false){
run(`updatestreamers SET status=true,其中streamer=${Config.streamers[i]}`);
for(设j=0;jsetInterval(检查,60*5*1000));
bot.login(Config.bot\u令牌)

您拥有sqlite文件位置的相对路径。给定另一个JS文件的位置,sqlite文件的位置是否正确?@DanielT。它与bot.js文件位于同一目录中。您收到的错误消息是什么?“你试过什么?”达尼尔特说。未处理的承诺拒绝(拒绝id:14):错误:SQLITE\u错误:没有这样的表:Streamers这是错误