Vodafone İlk Hattım İndirim Kodu + İlk 3 Ay Geçerli 30GB ?

Ilayda

Bilgili
import feedparser

import pyautogui

import pyperclip

import webbrowser

import time

import os

import logging

import random

# Log dosyası yolu

LOG_FILE_PATH = r"C:\Users\Administrator\Desktop\twitter\log.txt"

os.makedirs(os.path.dirname(LOG_FILE_PATH), exist_ok=True)

logging.basicConfig(filename=LOG_FILE_PATH, level=logging.INFO, format='%(asctime)s - %(message)s')

# RSS adresi

RSS_FEED_URL = "https://news.btc.gripe/feed/"

FILTERED_KEYWORDS = ["Coinkolik"] # Kaldırılacak anahtar kelimeler

def fetch_latest_feed():

"""RSS akışından en son başlığı, linki ve kategorileri çeker."""

feed = feedparser.parse(RSS_FEED_URL)

if feed.entries:

latest_entry = feed.entries[0]

title = latest_entry.title

link = latest_entry.link

categories = []

# Başlıktaki "• Coinkolik" kısmını kaldır

title = title.replace(" • Coinkolik", "")

# Etiketlerden istenmeyenleri çıkar ve ilk etiketi kaldır

if hasattr(latest_entry, 'tags'):

raw_categories = [cat.term for cat in latest_entry.tags if cat.term not in FILTERED_KEYWORDS]

if raw_categories:

raw_categories.pop(0) # İlk etiketi kaldır

selected_categories = random.sample(raw_categories, min(len(raw_categories), random.randint(3, 6)))

categories = [f"#{cat}" for cat in selected_categories]

return title, link, categories

return None, None, []

def is_already_posted(link):

"""Log dosyasına bakarak aynı linkin daha önce paylaşılıp paylaşılmadığını kontrol eder."""

try:

with open(LOG_FILE_PATH, "r", encoding="utf-8") as log_file:

logs = log_file.readlines()

except UnicodeDecodeError:

with open(LOG_FILE_PATH, "r", encoding="cp1252") as log_file:

logs = log_file.readlines()

return any(link in log for log in logs)

def post_to_twitter(title, link, categories):

"""Twitter üzerinde içerik paylaşımını yapar."""

try:

webbrowser.open("https://x.com/compose/post")

time.sleep(47)

post_content = f"{title}\n{link}\n{' '.join(categories)}"

pyperclip.copy(post_content)

pyautogui.hotkey('ctrl', 'v')

time.sleep(6)

pyautogui.hotkey('ctrl', 'enter')

time.sleep(8)

pyautogui.hotkey('ctrl', 'w')

time.sleep(22)

logging.info(f"Posted: {title} - {link}")

print(f"Posted: {title} - {link}")

except Exception as e:

print(f"Error during posting: {e}")

def main():

"""Bot döngüsü."""

while True:

title, link, categories = fetch_latest_feed()

if title and link and not is_already_posted(link):

print(f"New post found: {title}")

print("Posting to Twitter...")

post_to_twitter(title, link, categories)

# Log dosyasına linki kaydedelim

with open(LOG_FILE_PATH, "a", encoding="utf-8") as log_file:

log_file.write(f"{link}\n")

else:

print("No new post or already posted. Waiting...")

time.sleep(200)

if __name__ == "__main__":

main()
 
Üst