Untitled

 avatar
unknown
plain_text
24 days ago
1.5 kB
3
Indexable
from telethon import TelegramClient
import asyncio
from datetime import datetime, timedelta

# Remplace ces valeurs par tes propres informations
API_ID = "TON_API_ID"
API_HASH = "TON_API_HASH"
PHONE_NUMBER = "+123456789"  # Ton numéro de téléphone Telegram
GROUP_IDS = [-1001234567890, -1009876543210]  # Remplace avec les IDs des groupes
MESSAGE_TEXT = "Ceci est un message planifié automatiquement !"
INTERVAL = 5  # Intervalle en minutes
END_TIME = "23:59"  # Heure de fin (format HH:MM)

# Initialisation du client Telegram
client = TelegramClient("session_name", API_ID, API_HASH)

async def schedule_messages():
    await client.start(PHONE_NUMBER)

    # Conversion de l'heure de fin en objet datetime
    now = datetime.now()
    end_time = datetime.strptime(END_TIME, "%H:%M").replace(year=now.year, month=now.month, day=now.day)

    # Si l'heure de fin est déjà passée, on envoie jusqu'au lendemain
    if end_time < now:
        end_time += timedelta(days=1)

    next_send_time = now

    while next_send_time <= end_time:
        for group_id in GROUP_IDS:
            await client.send_message(group_id, MESSAGE_TEXT, schedule=next_send_time)
            print(f"Message planifié pour {group_id} à {next_send_time.strftime('%H:%M:%S')}")

        # Déplacer l'heure d'envoi de 5 minutes
        next_send_time += timedelta(minutes=INTERVAL)

    print("Tous les messages ont été planifiés.")

# Lancer le script
with client:
    client.loop.run_until_complete(schedule_messages())
Leave a Comment