• Home
  • Pyrogram
  • Автоматизируйте наполнение своего канала в Telegram с помощью Pyrogram-бота

Автоматизируйте наполнение своего канала в Telegram с помощью Pyrogram-бота

Image

В данном видео-уроке вы узнаете, как автоматизировать процесс публикации контента в своем Telegram-канале с помощью Pyrogram бота. Забудьте о ручном поиске пабликов-доноров и найме контентщиков – теперь вы сможете сэкономить время и деньги, а также избежать мошенничества и выгорания. Мы покажем вам, как настроить бота для сбора контента с других каналов и автоматической публикации его в вашем канале. Получите стабильность и уверенность в развитии своего канала на Telegram. Начните учиться прямо сейчас!

import asyncio
import logging
from typing import List
from pyrogram import Client, filters, idle
from pyrogram.handlers import MessageHandler
from pyrogram.types import Message

bot_token: str = '123456789:abcdefg'
api_id: int = 987654321
api_hash: str = 'zxcvbnm'
donor_ids: List[int] = [-100123456789, -100123456789, -100123456789]
technical_channel: int = 123456789
target_channel: int = 369258147


async def new_post(client: Client, message: Message):
    await client.copy_message(chat_id=technical_channel, from_chat_id=message.chat.id, message_id=message.id)


async def forward_post(client: Client, message: Message):
    await client.copy_message(chat_id=target_channel, from_chat_id=message.chat.id, message_id=message.id)
    await message.delete()
    await message.reply_to_message.delete()


async def start():
    logging.basicConfig(
            level=logging.INFO,
            format="%(asctime)s - %(levelname)s - %(name)s - %(message)s"
    )

    user_bot = Client(name='user_bot', api_id=api_id, api_hash=api_hash)

    bot_content = Client(name='bot_content', api_id=api_id, api_hash=api_hash, bot_token=bot_token)

    user_bot.add_handler(MessageHandler(new_post, filters.chat(chats=donor_ids)))
    bot_content.add_handler(MessageHandler(forward_post, filters.reply))

    await user_bot.start()
    await bot_content.start()
    await idle()
    await user_bot.stop()
    await bot_content.stop()

if __name__ == '__main__':
    asyncio.run(start())
Image