отправка ссылки в телеграм-канал

есть длинная ссылка вида:

https://mysite.com/...&.../

пытаюсь ее отправить через requests в свой канал сообщением вида:

r = requests.get(https://api.telegram.org/bot...:.../sendMessage?chat_id=@mychannel&text=ссылка)

сообщение уходит, но ссылка обрезается на &. как исправить и заставить телеграм отправлять полную ссылку?


Ответы (1 шт):

Автор решения: Oleg

JSON

Если уж используешь для отправки python, а не обычный браузер - отправляй параметры к методу в формате JSON. Их проще формировать, читать и изменять на лету.

import requests
requests.post(url, json={"key": "value"})

Фреймворки

Лучше всего использовать уже готовые инструменты. Посмотри насколько это просто:

from aiogram import Bot


async def main():
    # создаём бота
    bot = Bot('твой:токен')

    # отправляем сообщение
    await bot.send_message('канал', 'ссылка')

    # закрываем бота
    await bot.close()


if __name__ == '__main__':
    main()
→ Ссылка