Перейти до основного вмісту
Інструкції

Автопостинг у Telegram без позначки «Переслано»: покрокова інструкція

Також доступно мовами:ENRUUK
Опубліковано September 14, 20257 хв читання260 переглядів
Автопостинг у Telegram без позначки «Переслано»: покрокова інструкція

Автопостинг у Telegram без позначки «Переслано»: покрокова інструкція

Коротко. Сіра плашка «Переслано від <Канал>» з'являється тоді, коли ви викликаєте forwardMessage з Bot API (або тиснете «Переслати» в інтерфейсі). Щоб зробити нативний репост без цієї позначки, повідомлення треба пересилати як нове — для цього існують методи copyMessage / copyMessages у Bot API або відповідний режим «нативного репосту» в будь-якому пристойному планувальнику. Нижче — чому з'являється плашка, у чому різниця між ботом і userbot, і чотири конкретні кроки до чистого, фірмового репосту.

Якщо не хочеться возитися з API, Autogram має перемикач «Нативний репост» в один клік.

Чому з'являється «Переслано від»

Фото: Rahul Shah на Pexels

Telegram трактує пересилання як частину ідентичності повідомлення: оригінальний автор зашитий у його метадані. Згідно з документацією Bot API, кожен виклик forwardMessage повертає повідомлення з полем forward_origin. Саме це поле клієнти Telegram використовують, щоб домалювати сіру плашку над бульбашкою.

Сценаріїв, що генерують позначку, — два:

  1. Користувач (або ваш бот) тисне «Переслати» в інтерфейсі, або код викликає bot.forwardMessage(chat_id, from_chat_id, message_id).
  2. «Дзеркальний» бот, що клонує канал A → канал B через forwardMessage під капотом — стандартна реалізація дешевих агрегаторів.

В обох випадках підписники бачать назву джерела на кожному пості. Для брендових каналів — агенції з кураторськими стрічками, e-commerce з трансляцією поставок, медіа з реролом стрічки агентств — це розмиває ідентичність каналу і привчає аудиторію клікати в джерело замість того, щоб залишатися у вашому каналі.

Хороша новина: офіційний спосіб переслати контент без атрибуції джерела існує і повністю задокументований.

Бот vs userbot — різниця, про яку забувають

Перед кроками — одна базова модель. У Telegram є дві поверхні автоматизації:

ПоверхняЩо цеЧи прибирає «Переслано»?Коли використовувати
Bot API (BotFather)Окремий акаунт, керований через bot.token поверх HTTPSТак — через copyMessage (Bot API 5.0, грудень 2020) / copyMessages (Bot API 7.0, грудень 2023)99% легітимної автоматизації каналів
Userbot (TDLib / MTProto)Реальний акаунт користувача, керований API ID + API hashТак — але ви контролюєте конверт повідомлення, тому це тривіальноPower-користувачі, що автоматизують власну активність

Userbot може репостити «від себе» без позначки, але він заходить як живий користувач, його легко позначити як спам, і ви ризикуєте номером телефону. Для нормальних каналів правильна відповідь — Bot API + copyMessage. Решта інструкції припускає саме цей шлях; для масштабу варто паралельно прочитати гід з масової розсилки — там детально про rate limits, які з'являться, щойно ви почнете планувати репости пачками.

Передумови

  • Telegram-бот від @BotFather і його BOT_TOKEN.
  • Бот доданий у канал-приймач як адміністратор з правом «Публікувати повідомлення».
  • Числові chat_id каналу-джерела (від'ємне ціле, наприклад -1001234567890) і каналу-приймача.
  • Або Python з python-telegram-bot >= 20.0 для коду, або планувальник з режимом «нативного репосту» (Autogram, BrandGhost, низка SMM-панелей) — для no-code шляху.

Крок 1 — отримайте message_id повідомлення в джерелі

Щоб переслати конкретне повідомлення, потрібен його числовий message_id у каналі-джерелі. Три способи:

  • Вручну. У Telegram Desktop або Web: правий клік по повідомленню → «Копіювати посилання». URL закінчується на …/12345 — це і є message_id.
  • Webhook. Якщо ваш бот у каналі-джерелі, налаштуйте вебхук на channel_post і збирайте update.channel_post.message_id під час публікації.
  • Полінг. bot.get_updates() повертає ті ж channel_post події; зберігайте message_id у чергу.

Зберігайте обидва: from_chat_id і message_id — copyMessage потребує і того, й іншого.

Крок 2 — викликайте copyMessage замість forwardMessage

Фото: Tara Winstead на Pexels

Це і є вся магія. copyMessage пересилає вміст повідомлення як нове повідомлення, автором якого є ваш бот — без forward_origin, без плашки, без атрибуції.

from telegram import Bot
import asyncio

BOT_TOKEN = "123456:ABC..."          # від BotFather
SRC_CHAT  = -1001234567890           # канал-джерело
DST_CHAT  = -1009876543210           # канал-приймач
SRC_MSG   = 12345                    # message_id з кроку 1

async def repost_clean():
    bot = Bot(BOT_TOKEN)
    new_msg = await bot.copy_message(
        chat_id=DST_CHAT,
        from_chat_id=SRC_CHAT,
        message_id=SRC_MSG,
        # caption="Опційний текст у голосі вашого каналу",
        # parse_mode="MarkdownV2",
    )
    print("Опубліковано як message_id", new_msg.message_id)

asyncio.run(repost_clean())

Той самий запит у вигляді HTTP:

curl -sS -X POST "https://api.telegram.org/bot${BOT_TOKEN}/copyMessage" \
  -H "Content-Type: application/json" \
  -d '{"chat_id": -1009876543210, "from_chat_id": -1001234567890, "message_id": 12345}'

Опційний caption дозволяє переписати текст у голосі вашого каналу, залишивши оригінальне медіа — корисно, коли в підписі джерела є чужий бренд або CTA, який ви хочете замінити. Якщо передаєте parse_mode: "MarkdownV2", не забудьте екранувати спеціальні символи.

Для медіа-альбомів (2–10 фото / відео в групі) використовуйте copyMessages з масивом message_ids — групування зберігається.

Крок 3 — увімкніть режим у вашому планувальнику (no-code шлях)

Якщо не хочеться супроводжувати скрипт, кожен сучасний планувальник має перемикач режиму постингу. Назви відрізняються, виклик той самий — copyMessage:

ІнструментНазва опціїСтан за замовчуванням
Autogram«Native repost»увімкнено
BrandGhost«Repost as own»вимкнено
ManyBot«Send as bot»завжди в стилі «не пересилати»
Postoplan«Republish»вимкнено

Виберіть режим і збережіть автоматизацію — планувальник зробить решту. Перевірте на тестовому каналі, перш ніж націлювати на бойовий: бот, у якого мовчки відкликали права, не публікуватиме нічого, а це помітити складніше, ніж зайву плашку.

Крок 4 — перевірте на реальному пристрої

Фото: Zulfugar Karimov на Pexels

Відкрийте канал-приймач у мобільному клієнті Telegram (десктоп малює плашку трохи інакше залежно від теми). Перевірте:

  • Над повідомленням немає «Переслано від».
  • Автор — ваш канал, не джерело.
  • Тап по таймстемпу не відкриває повідомлення в каналі-джерелі.
  • Для медіа: файл завантажений як свіжий (має власний file_id), а не CDN-посилання на джерело.

Якщо щось із цього все ще показує атрибуцію джерела, то найімовірніше десь у пайплайні викликається forwardMessage — перевірте налаштування планувальника або код.

Поширені помилки

  • Викликати forwardMessage і потім редагувати. Редагування пересланого повідомлення не прибирає плашку — forward_origin незмінне.
  • Бот без права «Публікувати повідомлення». copyMessage поверне 403: Bot is not a member або 403: Not enough rights. Перевипустіть бота як адміністратора каналу.
  • Не екранований MarkdownV2 при перевизначенні підпису. Пост мовчки 400-ить, черга стає. Правила екранування ловлять 9 з 10 нових інтеграцій.
  • Перевищення ліміту 30 повідомлень/сек / 1 повідомлення/сек на чат при репостингу беклога. Використовуйте copyMessages для альбомів і додайте RetryAfter-aware затримку.
  • Репост чужого контенту без дозволу. Без плашки атрибуція зникає — це нормально для свого або ліцензійного контенту і не нормально для чужого. Зберігайте source_url у БД і за потреби показуйте його в підписі.
  • Плутати «без плашки» з «без сліду». Telegram не примушує до атрибуції, але оригінальний message_id все одно лишається в логах джерела, якщо обидва боти живуть на тій самій інфраструктурі. Не репостьте захищений контент.

FAQ

Чому над постом мого бота з'являється «Переслано від» замість назви мого каналу?

Тому що бот викликав forwardMessage (або користувач натиснув «Переслати» в інтерфейсі). Обидва генерують повідомлення з полем forward_origin, яке клієнти Telegram малюють як сіру плашку. Замініть виклик на copyMessage — той самий контент буде надіслано як нове повідомлення авторства вашого бота.

У чому різниця між forwardMessage і copyMessage у Telegram Bot API?

forwardMessage пересилає оригінал зі збереженням атрибуції. copyMessage надсилає вміст (текст, медіа, підписи) як нове повідомлення авторства вашого бота, без посилання на джерело. Обидва — задокументовані методи Bot API; copyMessage додано в Bot API 5.0 (грудень 2020), а множинний варіант copyMessages з'явився пізніше в Bot API 7.0 (грудень 2023).

Чи потрібен userbot або MTProto, щоб репостити без плашки «Переслано»?

Ні. Стандартний Bot API через copyMessage робить це з 2022 року. Userbot (TDLib, MTProto) теж може, але вимагає реального номера телефону, потрапляє під антиспам-перевірки і є надлишковим для нормальних каналів.

Чи можна копіювати медіа-альбоми (кілька фото/відео) без плашки «Переслано»?

Так — використовуйте copyMessages з масивом message_ids із оригінального альбому. Групування зберігається на боці приймача, плашки немає.

Чи не порушує правила Telegram прибирання позначки «Переслано»?

Ні. copyMessage — офіційний метод Bot API, мета якого — створити репост без атрибуції. Що дійсно порушує правила (і авторське право) — це публікація чужого контенту без дозволу. Зберігайте журнал source_url для будь-якого матеріалу, який не є вашим.

Чи зберігаються прев'ю посилань і inline-кнопки при копіюванні?

Підписи, форматування і базові медіа копіюються як є. Inline-клавіатури за замовчуванням не переносяться — передавайте їх явно через параметр reply_markup в copyMessage. Прев'ю посилань генерується клієнтом-приймачем за URL, тому виглядатиме так само, поки посилання незмінне.

Підсумок

Публікації в Telegram в Autogram. Підключіть перший канал і отримайте 7 днів доступу до Solo з AI-бюджетом $1. Банківська картка не потрібна.

Зображення

#автоматизація telegram#telegram репост#переслано від#telegram bot api#copymessage#бренд каналу

Підпишіться на нашу розсилку

Отримуйте найновіші поради з розвитку Telegram, стратегії автоматизації та оновлення платформи на вашу пошту.

Або підпишіться на наш Telegram-канал