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