|
You last visited: Today at 08:28
Advertisement
Nodejs - Twitch bot - für jeden viewer einen datenbank eintrag
Discussion on Nodejs - Twitch bot - für jeden viewer einen datenbank eintrag within the Web Development forum part of the Coders Den category.
11/06/2015, 18:23
|
#1
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
Nodejs - Twitch bot - für jeden viewer einen datenbank eintrag
PHP Code:
client.api({ url: "http://tmi.twitch.tv/group/user/lirik/chatters" }, function(err, res, body) { var count = JSON.parse(body)["chatter_count"]; console.log(count); var chatter = JSON.parse(body)["chatters"]["viewers"]; for(i=0;i < chatter.length;i++){ var post = {name: chatter[i], points: 0}; var usernamed = chatter[i]; var checkuser= con.query('SELECT * FROM `test` WHERE `name` = ?',chatter[i], function (error, results, fields) { console.log(results); var resu = results.map( function( el ){ return el.name; }); if(resu != chatter[i]){ var insertuser= con.query('INSERT INTO test SET ?', post, function(err, result) { }); } }); } });
Hier ist der aktuelle code.
chatter ist ein array mit den aktuellen zuschauern.
Ich möchte das jeder einzelne Zuschauer in die Datenbank eingetragen wird. Jedoch soll, wenn der Zuschauer schon in der Datenbank steht, der Zuschauer übersprungen werden.
Wenn ich das so laufen lasse, wird lediglich der erste Zuschauer eingetragen. D.h wenn es 50 zuschauer sind, wird der erste Zuschauer 50mal eingetragen.
|
|
|
11/08/2015, 09:38
|
#2
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
Niemand ne Idee?
|
|
|
11/08/2015, 09:59
|
#3
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Das Problem ist, dass Java nichts mit JavaScript zu tun hat, außer die große (nicht zufällige) Ähnlichkeit der Namen.
Ich habe das Thema mal gemeldet damit es verschoben wird.
|
|
|
11/08/2015, 10:21
|
#4
|
elite*gold: 0
Join Date: Dec 2014
Posts: 276
Received Thanks: 84
|
 ich sehe jetzt erst das ich im javabereich bin. Jup, bitte verschieben.
|
|
|
11/09/2015, 16:44
|
#5
|
elite*gold: 0
Join Date: Aug 2006
Posts: 409
Received Thanks: 150
|
Ich konnte deinen Code nicht 1:1 übernehmen weil ich nicht weiß welche Module dafür benötigt werden, also hab ich ihn eben in einer für mich benutzbaren Version nachgebaut.
Ich vermute das Problem bei der Asynchronizität der query-Funktion in Zeile 13. Aus diesem Grund habe ich den Code mit async umgebaut. Wenn du mein Beispiel auf deinen Code anwendest sollte alles so funktionier wie du es möchtest.
Code:
// require the necessary modules
var request = require('request');
var http = require('http');
var mysql = require('mysql');
var async = require('async');
// setting up the mysql connection
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'test'
});
request({
url: 'http://tmi.twitch.tv/group/user/lirik/chatters',
json: true
}, function (err, res, body) {
// only procceed if there are no errors
if (!err && res.statusCode === 200) {
// mapping stuff
var json = body;
var chatters = json.chatters.viewers;
// establishing the mysql connection
connection.connect();
// asynchronously accessing all the users
async.each(chatters, function(user, callback) {
// look if there is any entry with the current user
connection.query('SELECT 1 FROM test WHERE name = ? ORDER BY name LIMIT 1;', user, function(err, result, fields) {
// return early if there are any errors
if (err) {
return callback && callback(err);
}
// if it is a new user the result is empty
if (0 === result.length) {
// insert new user
connection.query('INSERT INTO test SET ?', {name: user, points: 0}, function(err, result) {
// call the callback function (err may or may not be undefined)
callback && callback(err);
});
} else {
// call the callback function if we already got that user
callback && callback();
}
});
}, function(err) {
// if there are any errors, print them
if (err) {
console.log('error: ', err);
}
console.log('done');
// close the mysql connection
connection.end();
// exit the process
process.exit();
});
}
});
|
|
|
11/20/2015, 17:59
|
#6
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Java -> Web Development
#moved…
|
|
|
Similar Threads
|
Suche einen Arena Scoreboard Datenbank eintrag!
11/26/2014 - Flyff Private Server - 11 Replies
Ich brauche Hilfe bei meine Arena Scoreboard unzwar habe ich momentan das Problem das Kills nicht gespeichert werden wenn man den Worldserver neustartet.
Darum brauche ich unbedingt die Datenbank oder den Eintrag für das Scoreboard.
Benutze das hier:
http://i.epvpimg.com/lPqSg.png
Danke schonmal für die Hilfe!
|
Ich suche einen Twitch Viewer Bot
04/17/2014 - Twitch Trading - 0 Replies
Hallo
Ich benötige einen Twitch Viewer Bot welcher mindestens 2000 Viewer schafft ausserdem darf er fast keine PC Leistung benötigen. Falls jemand einen solchen Bot verkauft, der kann mich gerne in Skype adden: exotiqz.hd
Natürlich kann ich euch auch adden.
MfG
|
All times are GMT +1. The time now is 08:29.
|
|