Twitter için haber takip botu nasıl yapılır?

loyafis.1

Centipat
Katılım
16 Eylül 2023
Mesajlar
56
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Merhaba, yardımcı olursanız çok mutlu olurum. Twitter'da bir bot yapmaya çalışıyorum fakat başarılı olamıyorum. Twitter API'leri falan her şey mevcut, ancak haber sitesinden haberleri çekip paylaşmasını istiyorum.

Bu işlemi yaparken çok fazla hata alıyorum. Bu konu hakkında bilgisi olan veya hazır botu olan varsa yardımcı olursa çok sevinirim.
 
Tamam sıkıntı yaşadığın nokta ne? Hangi programlama dilini kullanıyorsun?

Yardım istiyorsun ancak hiçbir ek bilgi vermemişsin.
Şimdi ben kodu aldım, API'leri doldurdum, RSS'yi doldurdum, çalıştırdım ama 'bana gönderilmedi' hatası aldım (gerekli kütüphaneleri kurdum). Böyle bir hata da aldım: NULL. HTTP Kod: 404. Tweet gönderilirken hata oluştu. Bilinmeyen bir hata oluştu.

Yardımcı olursan çok sevinirim !

PHP:
<?php

require 'vendor/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
use GuzzleHttp\Client;

// Hata raporlamayı etkinleştir
error_reporting(E_ALL & ~E_DEPRECATED);
ini_set('display_errors', 1);

// Twitter API anahtarları
$consumerKey = 'api girelecek yer';
$consumerSecret = 'api girelecek yer';
$accessToken = 'api girelecek yer';
$accessTokenSecret = 'api girelecek yer';

// RSS URL'si
$rssUrl = "https://www.aspor.com.tr/rss";
$lastPostedFile = 'last_posted.txt';

$client = new Client(['verify' => false]); // HTTPS sertifikası kontrolünü devre dışı bırak (güvenli değil, sadece test için)
$response = $client->get($rssUrl);
$xml = simplexml_load_string($response->getBody()->getContents());

$entry = $xml->channel->item[0];
$link = (string)$entry->link;
$title = (string)$entry->title;

// Son paylaşılan haberi kontrol et
if (file_exists($lastPostedFile)) {
    $lastPosted = file_get_contents($lastPostedFile);
    if ($lastPosted === $link) {
        exit("Zaten paylaşıldı: $title\n");
    }
}

try {
    // Twitter'da paylaş
    $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
    $status = $title . ' ' . $link;
    $result = $twitter->post('statuses/update', ['status' => $status]);

    if ($twitter->getLastHttpCode() == 200) {
        echo "Başarıyla paylaşıldı: $title\n";
        file_put_contents($lastPostedFile, $link);
    } else {
        echo "Paylaşım başarısız oldu.\n";
        print_r($result); // API yanıtını yazdır
    }
} catch (Exception $e) {
    echo "Hata: " . $e->getMessage() . "\n";
}
 
A Spor RSS URL'i yanlış.

Yine aynı 😥

A spor RSS URL'i yanlış.


Kendim sıfırdan bir kod yazdım ve çalıştı 60 saniyede bir RSS'yi kontrol ediyor ve paylaşıyor yeni haber gelince teşekkür ederim yardımcı olduğun için.
 
Son düzenleme:
@loyafis.1
https://pubsubhubbub.appspot.com/ RSS feed eğer bununla uyumluysa 60 saniyede bir kontrol ettirmek yerine API'ne post olarak bildirim alabilirsin.
Teşekkürler fakat bir sorun var bilgisayarımda çalışan kod vds'de çalıştırınca böyle bir hata alıyorum çözümünü bulamadım 80
Kod:
Traceback (most recent call last):
File "C:\Users\Administrator\Downloads\New folder\tweet.py", line 80, in <module>
latest_entry = feed.entries[0]
Python:
latest_entry = feed.entries[0]
80'inci satırdaki kod:
    if latest_entry.id != last_entry_id:
        # HTML etiketlerini temizle
        soup = BeautifulSoup(latest_entry.description, "html.parser")
        clean_description = soup.get_text()
 

Technopat Haberler

Geri
Yukarı