Загрузка...

Пересылка постов с одного канала в другой Pyrogram

Тема в разделе Python создана пользователем tvoiLil 9 мар 2025. 163 просмотра

  1. tvoiLil
    tvoiLil Автор темы 9 мар 2025 539 14 дек 2019
    Как мониторить на новые посты один канал, где у меня нет админки и статус стоит MEMBER, в другой канал, где у меня есть админка. Второй день бьюсь ничего не получается, просто код не видит новые посты. Помогите пожалуйста
     
  2. Kail_J
    Kail_J 13 мар 2025 1 1 янв 2019
    Это можно сделать через телетон сессию.

    Python
    from telethon import TelegramClient, events
    import asyncio

    # Используй свои API-ключи (получить можно на https://my.telegram.org/apps)
    API_ID = 123456 # Замени на свой API_ID
    API_HASH = "your_api_hash" # Замени на свой API_HASH
    SESSION_NAME = "my_session" # Название файла сессии

    # Группы
    SOURCE_CHAT_ID = 1234567890123 # Id группы-источника
    DEST_CHAT_ID = 1234567890123 # Id группы куда будут перекидываться посты

    # Создаем клиент
    client = TelegramClient(SESSION_NAME, API_ID, API_HASH)

    @client.on(events.NewMessage(chats=SOURCE_CHAT_ID))
    async def forward_post(event):
    if event.photo:
    await client.send_file(DEST_CHAT_ID, event.photo, caption=event.text)
    elif event.video:
    await client.send_file(DEST_CHAT_ID, event.video, caption=event.text)
    elif event.document:
    await client.send_file(DEST_CHAT_ID, event.document, caption=event.text)
    else:
    await client.send_message(DEST_CHAT_ID, event.text)

    print("Сообщение переслано!")

    # Запуск бота
    async def main():
    print("Бот запущен...")
    await client.start()
    await client.run_until_disconnected()

    if __name__ == "__main__":
    asyncio.run(main())
     
Top
Загрузка...