Как я могу отправить стикер в Телеграм с помощью компьютера?

Как исправить ошибку "TelegramBadRequest: неверно указан URL HTTP" при отправке стикера с использованием последней версии aiogram?
  • 4 октября 2023 г. 22:37
Ответы на вопрос 2
Чтобы отправить стикер в Телеграм с помощью компьютера, вам понадобится установить Telegram Desktop или использовать веб-версию Телеграма в браузере.

1. Telegram Desktop: 
   - Установите Telegram Desktop на свой компьютер с официального сайта Telegram - https://desktop.telegram.org/.
   - Запустите приложение и войдите в свой аккаунт.
   - Найдите чат или диалог, в который хотите отправить стикер.
   - Нажмите на значок "Смайлики" внизу поля ввода сообщения или используйте сочетание клавиш Ctrl + E для открытия встроенного селектора стикеров. 
   - Выберите нужный стикер и отправьте его, кликнув на него.
   
2. Веб-версия Телеграма:
   - Откройте браузер и перейдите на веб-версию Телеграма - https://web.telegram.org/.
   - Войдите в свой аккаунт.
   - Найдите нужный чат или диалог.
   - Щелкните на значок "Смайлики" рядом с полем ввода сообщения.
   - Выберите нужный стикер и отправьте его, кликнув на него.

Что касается ошибки "TelegramBadRequest: неверно указан URL HTTP" при использовании aiogram, возможно, она связана с неправильным форматом URL-адреса, который вы пытаетесь использовать для отправки стикера. Убедитесь, что вы указываете правильный URL-адрес стикера, который соответствует формату, принятому в aiogram. Если проблема продолжается, рекомендуется обратиться к документации или сообществу aiogram для получения дальнейшей помощи.
Отправка файлов и стикеров описана в документации. Ссылки: [отправка файлов](https://core.telegram.org/bots/api#inputfile) и [отправка стикеров](https://core.telegram.org/bots/api#sendsticker). Если вам нужно отправить стикер несколько раз, рекомендую добавить его в стикерпак и отправлять пользователю по ID стикера. Кроме класса BufferedInputFile, вы можете использовать классы FSInputFile и URLInputFile. Вот две альтернативы для выбора:

```python
from aiogram import Bot, Dispatcher, types
from aiogram.types.input_file import BufferedInputFile
import asyncio

token = 'ВАШ_ТОКЕН'
bot = Bot(token=token)
dp = Dispatcher()

# Открываем файл с компьютера
with open('photos/photo.webp', 'rb') as file:
    input_file = BufferedInputFile(file.read(), 'any_filename')
# Или устанавливаем ID стикера
sticker_id = 'CAACAgIAAxkBAAEKdDVlHm_tbwKnOGandpJwjTBEUXy2zAAC3ggAAgi3GQLYQTVG1h5WQDAE'

@dp.message(types.ContentTypes.TEXT == '/start')
async def send_file(message: types.Message):
    # Загрузка файла с компьютера
    await bot.send_sticker(message.chat.id, input_file)
    # Или отправляем по ID стикера
    await bot.send_sticker(message.chat.id, sticker_id)

asyncio.run(dp.start_polling(bot))
```
Похожие вопросы