Можно ли вытащить ссылку канала не пересылая боту пост?

Да, в боте Telegram, используя Python, можно получить ссылку на канал без необходимости пересылки сообщения. Для этого можно воспользоваться API Telegram и использовать метод "getChat" из модуля "telegram.Bot".

Код ниже демонстрирует, как получить ссылку на канал:

import telegram

def get_channel_link(channel_username):
    # Инициализация бота с токеном
    bot = telegram.Bot(token='YOUR_BOT_TOKEN')

    try:
        # Используем метод getChat для получения информации о канале по его username
        chat = bot.getChat(channel_username)

        # Достаём ссылку на канал
        channel_link = chat.invite_link

        return channel_link

    except telegram.error.TelegramError as e:
        # Обработка возможных ошибок при получении информации о канале
        print(f"Ошибка получения информации о канале: {e}")
        return None

В коде выше необходимо заменить 'YOUR_BOT_TOKEN' на токен вашего бота. Затем вызовите эту функцию, передавая имя пользователя вашего канала в качестве аргумента:

channel_username = 'channel_username'
channel_link = get_channel_link(channel_username)
if channel_link:
    print(f"Ссылка на канал: {channel_link}")
else:
    print("Не удалось получить ссылку на канал")

После выполнения кода в консоль будет выводиться ссылка на ваш канал, если процесс завершился успешно. В противном случае будет выведено сообщение об ошибке.

Обратите внимание, что для использования данного кода вам понадобится библиотека python-telegram-bot. Установите её с помощью pip:

pip install python-telegram-bot

Также убедитесь, что у вашего бота есть доступ к API Telegram и что вы передали правильный токен в коде.