kelimeler ve hashtagler isimli tablomda aranacak 1 adet etiket oldugunda verileri sorunsuz çekip telegram kanalıma gönderebiliyorum ama kelime ve hashtag sayısını çogaltınca bu işlemi yapamıyorum.
Kodlarım aşağıdaki gibi, ben nerde hata yapıyorum?
<?php
//bot sürekli aynı tweeti gönderiyor, tweeet id kontrolü ile daha önce gönderilen tweeti göndermesinin önüne geçilecek.
// Bu botu yapmaktaki Amaç: twitter üzerindeki hashtaglerin 1 dk arayla takibini yaparak, bizim istediğimiz sonuçlara uyan tweetleri telegram kanalımıza göndermektir.
// mysql baglanti ayarlari
$host = "";
$db = "";
$user = "";
$pass = "";
$sqlbaglantisi = mysqli_connect($host, $user, $pass, $db);
$sqlbaglantisi->set_charset("utf8");
// mysql baglanti kontrolu
if (!$sqlbaglantisi) {
die("baglanti hatasi:".mysqli_connect_error());
}
// twitter kutuphanesi
require_once "twitteroauth/twitteroauth.php";
// twitter api ayarlari
$consumer_key = "";
$consumer_secret = "";
$access_token = "";
$access_token_secret = "";
// telegram access token
$telegram_access_token = "";
// twitter api baglanti
$twitter = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
// Hashtagleri veritabanindan çekiyoruz.
$hashtagveriver = $sqlbaglantisi->query("SELECT * FROM hashtagler");
while($vericek = mysqli_fetch_array($hashtagveriver,MYSQLI_ASSOC)){
$hashtagler = $vericek["hashtag"];
}
// Twitter api uzerinde hashtagimizi aratiyoruz.
$tweetler = $twitter->get('https://api.twitter.com/1.1/search/tweets.json?q='.$hashtagler.'&result_type=latest&count=1');
// twitter apiden gelen verileri aliyoruz.
foreach ($tweetler->statuses as $key => $tweet) {
$tweetyazi = $tweet->text;
}
// Veri tabanindaki kelimeler tablosundan verileri aliyoruz.
$veriver = $sqlbaglantisi->query("SELECT * FROM kelimeler");
while($vericek = mysqli_fetch_array($veriver,MYSQLI_ASSOC)){
$kelimeler = $vericek["kelime"];
}
// Tweet id veritabaninda kayitlimi kontrol ediyoruz. Kayitliysa islem yapmiyoruz.
$tweetidvarmi = $tweet->id;
$tweetidvar = $sqlbaglantisi->query("SELECT * FROM tweetler where tweetid='$tweetidvarmi'");
$tweetidsay = mysqli_num_rows($tweetidvar);
if($tweetidsay==1){
echo $tweetidvarmi." Veri tabaninda kayitli";
}
// Tweet id kayitli degilse tweet id veritabanina kayit edip telegram kanalina mesaj gonderme islemlerini baslatiyoruz.
else{
//Telegram kanalina gonderilecek tweet link
$gonderileceklink = 'https://twitter.com/'.$tweet->user->screen_name.'/status/'.$tweet->id;
// Veritabanindaki kelimeleri buyuk>kucuk harflere ceviriyoruz
$kucultkelimeler = mb_strtolower($kelimeler, mb_detect_encoding($kelimeler));
// Tweet icerigini buyuk>kucuk harflere ceviriyoruz
$kucultweet = mb_strtolower($tweetyazi, mb_detect_encoding($tweetyazi));
// Tweet yazisi icinde aradigimiz kelime varsa telegram kanalina link gonderme islemini baslatiyoruz.
if(strpos($kucultweet,$kucultkelimeler)){
// tweet linkinin gönderileceği telegram kanal islemleri
$telegramagonderilecekveriler = array(
'chat_id' => "@TwitterHaberBot",
'text' => $gonderileceklink,);
$Telegrambot = curl_init();
$telegramapiurl = "https://api.telegram.org/bot".$telegram_access_token."/sendmessage";
curl_setopt($Telegrambot, CURLOPT_URL, $telegramapiurl);
curl_setopt($Telegrambot, CURLOPT_HEADER, false);
curl_setopt($Telegrambot, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Telegrambot, CURLOPT_POST, 1);
curl_setopt($Telegrambot, CURLOPT_POSTFIELDS, $telegramagonderilecekveriler);
curl_setopt($Telegrambot, CURLOPT_SSL_VERIFYPEER, false);
$sonuc = curl_exec($Telegrambot);
}
// Telegram kanalina gonderdigimiz tweet id veritabanina kayit ediyoruz.
$tweetidkayit = "INSERT INTO tweetler (tweetid) VALUES ('$tweetidvarmi')";
if (mysqli_query($sqlbaglantisi, $tweetidkayit)){
echo $tweetidvarmi." Veri tabanina kayit edildi.";
}
}
// Telegram kanalina mesaj gonderme isleminin gerceklesip / gerceklesmedigini kontrol ediyoruz.
if($sonuc){
echo "<br><h4>Telegrama kanalina mesaj gonderildi.</h4>";
}else{
echo "<br><h4>Telegrama kanalina mesaj gonderilemedi.</h4>";
}
mysqli_close($sqlbaglantisi);
?>