Задать вопрос
chiminori
@chiminori

Как скачивать файлы Telegram через php более 20МБ?

Привет, я создал возможность качать файлы из Telegram через бот(в которого пользователи отправляют файлы) на веб-сервер, но столкнулся с ограничением Telegram API в 20МБ. Кто-нибудь уже делал проекты в которых можно обходить ограничение? Например, какие-нибудь SDK и как ими пользоваться.
Пожалуйста, не рассказывайте о способах в которых взаимодействуют другие языки программирования, меня интересует именно способ через php, потому что сервер другие не поддерживает.
  • Вопрос задан
  • 403 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
fenrir1121
@fenrir1121
Начни с документации
Поднимать собственное хранилище и хранить в нем файлы какого угодно размера. Телеграм, очевидно, не заинтересован, чтобы любой желающий использовал его как файлопомойку через их же API.

P.S. прочитайте правила и удалите все теги, кроме Telegram, они не имеют отношения к вопросу.
Ответ написан
Комментировать
@alekssamos
Программист любитель
Решение есть. Это локальный сервер. Только его из сишных исходников нужно самому собирать.
Я у себя наговнокодил вот так:
// vendor/irazasyed/telegram-bot-sdk/src/TelegramClient.php
const BASE_BOT_URL = 'http://127.0.0.1:8081/bot';

Будет приходить локальный путь типа /path_to/yourfolder/qwe/filename.ext
И уже с ним работай.
Запускал сервер так (через (supervisor):
[supervisord]
environment=TELEGRAM_API_ID="2*****89",TELEGRAM_API_HASH="dc8******c34"

[program:tgapi]
command=/usr/local/bin/telegram-bot-api -u root -g www-data --local  --max-webhook-connections=3 --http-stat-ip-address=127.0.0.1 --http-stat-port=8082
directory=/var/tgapi
user=root
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
numprocs=1

Разумеется, вы можете выбрать другой способ: через systemd, init.d, screen или что-нибудь ещё...
А ниже я скину ссылки на уже собранные файлы. Там и для линуксов, и для Windows, очень много, пробуйте по очереди, один из них возможно заработает. А нет, тогда на целевой системе по инструкции с Github собирайте сами.
Это работало на Debian 9 X64
https://disk.yandex.ru/d/8CI5XChsOuGx6w

Этот через WSL Ubuntu X64 собирал:
https://disk.yandex.ru/d/ViYfg5rhIljoNw

А вот остальные, там архивы (насобирал из интернета):
https://disk.yandex.ru/d/MJWQtlJv3qFamg

___
У меня платный тариф на Диске, ссылки вечные (максимально долгие), удалять не буду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽