Forwarded from Yūri 🇺🇦 💜 Ly
У меня @tdl_bot так и работает, никаких проблем с ним нет
Forwarded from Telegram File Download
Media is too big
VIEW IN TELEGRAM
Тест-драйв BMW 328i F30
via @tdl_bot
via @tdl_bot
Yūri 🇺🇦 💜 Ly
У меня @tdl_bot так и работает, никаких проблем с ним нет
mr.Slavik:
а с чего ты уверен что это через бот апи загружено официальный?
моему боту кинь вон ссылку тоже
он те просто выплюнет файл готовый
это не значит что все делается через бот апи
@LyoSU 💜:
это не через бот апи, но никаких агентов там нет, он напрямую работает
mr.Slavik:
агент это название аккаунта-бота, работающего через client api
чтобы не путать с ботом
@LyoSU 💜:
а в чем проблема что бы бот сам работал?
без бот апи
mr.Slavik:
в том, что бот апи сокращает время разработки
облегчает поддержку другими разрабами
позволяет использовать готовые куски кода из интернетов
не нужно вникать в чистый апи
Magic:
А по твоему нет готовых кусков кода для работы через бота напрямую?)
mr.Slavik:
может и есть, но есть еще такая штука как масштабируемость
Magic:
он делает через агента какого-то бесполезного
mr.Slavik:
у меня бот знать не знает ни про какие клиент апи
он просто кидает таски в редис
а кто там его обработает - не его дело
Magic:
у него есть обычный бот и бот=агент на клиент апи
аналогично делается это все с помощью воркеров и очередей но без создания лишних ботов-агентов. а напрямую с апи.
mr.Slavik:
https://habr.com/post/348234/
че я тут на пальцах то пытаюсь
я ж статейку писал
а с чего ты уверен что это через бот апи загружено официальный?
моему боту кинь вон ссылку тоже
он те просто выплюнет файл готовый
это не значит что все делается через бот апи
@LyoSU 💜:
это не через бот апи, но никаких агентов там нет, он напрямую работает
mr.Slavik:
агент это название аккаунта-бота, работающего через client api
чтобы не путать с ботом
@LyoSU 💜:
а в чем проблема что бы бот сам работал?
без бот апи
mr.Slavik:
в том, что бот апи сокращает время разработки
облегчает поддержку другими разрабами
позволяет использовать готовые куски кода из интернетов
не нужно вникать в чистый апи
Magic:
А по твоему нет готовых кусков кода для работы через бота напрямую?)
mr.Slavik:
может и есть, но есть еще такая штука как масштабируемость
Magic:
он делает через агента какого-то бесполезного
mr.Slavik:
у меня бот знать не знает ни про какие клиент апи
он просто кидает таски в редис
а кто там его обработает - не его дело
Magic:
у него есть обычный бот и бот=агент на клиент апи
аналогично делается это все с помощью воркеров и очередей но без создания лишних ботов-агентов. а напрямую с апи.
mr.Slavik:
https://habr.com/post/348234/
че я тут на пальцах то пытаюсь
я ж статейку писал
Хабр
Telegram боты. Загружаем файлы больше 50мб
Telegram боты позволяют автоматизировать многие процессы. Их использование не ограничивается одним чатом, по сути — бот это всего лишь интерфейс ввода-вывода,...
@LyoSU 💜:
у меня например @HorneyBot использует сразу бот апи и клиент апи, но без каких либо агентов. и все отчно работает
std::mpa🌲:
@ukinti_bot, использую клиентское апи без всяких вмешательств
Magic:
Редис это key=value хранилище
причем тут воркеры?
mr.Slavik:
а я вот как то не особо люблю обмазываться лишний раз зависимостями
есть возможность разделить все на независимые микросервисы
как по окружению, так и по физическому расположению
нафига связывать наоборот все воедино
std::mpa🌲:
в телетон можно напрямую юзать бота в .start(token)
mr.Slavik:
redis rq
std::mpa🌲:
так что не вижу особого смысла юзать сразу два апи
mr.Slavik:
надстройка такая есть кароч
Magic:
Ну так и раздели на микросервисы. Которые будут работать на прямую с апи. А не бесполезные агенты боты, лишние клиент аккаунты
Но славик верен своему методу и плевать хотел на советы других
я вник уже давно
mr.Slavik:
я просто сделал какую никакую масштабируемую архитектуру
Magic:
и мы вам пытаемся сказать что можно работать на прямую, с одним апи. а не делать два апи чумных, каких то ненужных агентов и тп
mr.Slavik:
которая на 3 машинах работает сейчас
можно к ней докидывать агентов
для ускорения загрузки
Magic:
она так же делается на прямом апи
mr.Slavik:
блин - вот ей богу напоминает детство
холивары ассемблер против си
@LyoSU 💜:
есть. api_id который ты получешь на сайте обладает лимитами, особенно на отправку сообщений. крупного бота ты не сделаешь только на клиент апи, ты будешь часто ловить флуд контрол. у бот апи api_id который имеет намного мягче лимиты. поэтому отправку обычных сообщений лучше делать через бот апи
mr.Slavik:
да ладно
неужели кто то понял
@LyoSU 💜:
я не понимаю зачем тебе агент
Magic:
Но у него нет "агентов". Они не нужны
@LyoSU 💜:
это все можно от имени ботов делать
mr.Slavik:
агент это микросервис самостоятельный
например в день лимит есть на создание каналов
можно несколько агентов(аккаунтов) запустить
в несколько потоков грузить, создавать много каналов, если забанили, то заменять
на клиентском API писать неудобно
поэтому на нем написано то что без него никак
остальное все на бот апи со всеми его преимуществами
у меня например @HorneyBot использует сразу бот апи и клиент апи, но без каких либо агентов. и все отчно работает
std::mpa🌲:
@ukinti_bot, использую клиентское апи без всяких вмешательств
Magic:
Редис это key=value хранилище
причем тут воркеры?
mr.Slavik:
а я вот как то не особо люблю обмазываться лишний раз зависимостями
есть возможность разделить все на независимые микросервисы
как по окружению, так и по физическому расположению
нафига связывать наоборот все воедино
std::mpa🌲:
в телетон можно напрямую юзать бота в .start(token)
mr.Slavik:
redis rq
std::mpa🌲:
так что не вижу особого смысла юзать сразу два апи
mr.Slavik:
надстройка такая есть кароч
Magic:
Ну так и раздели на микросервисы. Которые будут работать на прямую с апи. А не бесполезные агенты боты, лишние клиент аккаунты
Но славик верен своему методу и плевать хотел на советы других
я вник уже давно
mr.Slavik:
я просто сделал какую никакую масштабируемую архитектуру
Magic:
и мы вам пытаемся сказать что можно работать на прямую, с одним апи. а не делать два апи чумных, каких то ненужных агентов и тп
mr.Slavik:
которая на 3 машинах работает сейчас
можно к ней докидывать агентов
для ускорения загрузки
Magic:
она так же делается на прямом апи
mr.Slavik:
блин - вот ей богу напоминает детство
холивары ассемблер против си
@LyoSU 💜:
есть. api_id который ты получешь на сайте обладает лимитами, особенно на отправку сообщений. крупного бота ты не сделаешь только на клиент апи, ты будешь часто ловить флуд контрол. у бот апи api_id который имеет намного мягче лимиты. поэтому отправку обычных сообщений лучше делать через бот апи
mr.Slavik:
да ладно
неужели кто то понял
@LyoSU 💜:
я не понимаю зачем тебе агент
Magic:
Но у него нет "агентов". Они не нужны
@LyoSU 💜:
это все можно от имени ботов делать
mr.Slavik:
агент это микросервис самостоятельный
например в день лимит есть на создание каналов
можно несколько агентов(аккаунтов) запустить
в несколько потоков грузить, создавать много каналов, если забанили, то заменять
на клиентском API писать неудобно
поэтому на нем написано то что без него никак
остальное все на бот апи со всеми его преимуществами
Forwarded from Yūri 🇺🇦 💜 Ly
на последок кину данные для клиент апи которые обладают мягче лимитами чем тот что можно получить на сайте
api_id: 6
api_hash: eb06d4abfb49dc3eeb1aeb98ae0f581e
api_id: 6
api_hash: eb06d4abfb49dc3eeb1aeb98ae0f581e
Forwarded from Yūri 🇺🇦 💜 Ly
это вроде из андроид клиента достали, но они вообще есть в либе мадлайн
Forwarded from std::slavik
никто не загорелся написать файловый менеджер для использования телеги как облачного хранилища неограниченного?
Forwarded from std::slavik
го напишем, я давно хочу, просто в одного не хочу браться
mr.Slavik:
⏱Тест загрузки 1ГБ файла через SOCKS/MTProxy
👥SOCKS:
🔻81Mb/s |🔺33Mb/s
🔰MTProxy:
🔻64Mb/s |🔺21Mb/s
Тест проводился на VDS в Химках с каналом ~300Мб/с
Прокси из теста
📣 Канал: MediaTube_stream
📨 Чат: MediaTube_chat
💡NEW: Онлайн состояние серверов MediaTube_stdout
скорости телеги вполне себе позволяют
key-value базу сделать, которая бы для локального пути хранила бы список айдишников
если файл большой, то разбивается на куски по 1.5ГБ и склеивается в один
а так - интерфейс веб - логинишься в нем через тот же телеграм
std::mpa🌲:
идея крутая, если честно
mr.Slavik:
там тебе открывается типа гугл диска что то - можешь создавать папки, закидывать файлы, закинутые файлы загружаются в телегу и закидываются в key-value базу, ну можно еще какой нить временный буфер на диске делать, чтоб не гонять туда сюда постоянно
соответственно перенос/переименование файлов - просто меняется ключ в базе данных
а потом можно синхронизировать данные с какими нить каналами в самой телеге - например закинул в менеджере файлы в папку
а они в телегу в канал приватный прилетели
и наоборот
можно еще посмотреть попробовать на низком уровне - в плане, что лимит 80-100мбит он на клиента, а не на сервер
так что можно попробовать запускать несколько загрузок параллельно разных чанков и склеивать все на лету - сразу же решается вопрос с разделением на части, нам все равно сколько частей, если можем чанками оперировать
ну и сделать это опенсорсно и увековечить свое имя навеки
ну и можно на самом деле пойти по пути аля pyrogram или как там - типа расширенный ботапи
серверная инфраструктура которая будет заниматься разруливанием/кэшированием потоков, поддержкой обновлений API телеги и так далее типа торрент трекер
короче я ничего запредельного не вижу, просто работы для одного многовато - вдвоем-троем уже можно взяться
ну и писать над на go/c++ чем нить таком
чтоб с памятью было где развернуться с махинациями там с чанками и всякое такое
а к тому времени мож и разродятся блокчейном гении наши и можно будет прикрутить к этому всему монетизацию какуюнить через родной же блокчейн
лан - пойду оформлю говнокода кусочек пока, но я серьезно настроен - так что пишите кто надумает - над делать
⏱Тест загрузки 1ГБ файла через SOCKS/MTProxy
👥SOCKS:
🔻81Mb/s |🔺33Mb/s
🔰MTProxy:
🔻64Mb/s |🔺21Mb/s
Тест проводился на VDS в Химках с каналом ~300Мб/с
Прокси из теста
📣 Канал: MediaTube_stream
📨 Чат: MediaTube_chat
💡NEW: Онлайн состояние серверов MediaTube_stdout
скорости телеги вполне себе позволяют
key-value базу сделать, которая бы для локального пути хранила бы список айдишников
если файл большой, то разбивается на куски по 1.5ГБ и склеивается в один
а так - интерфейс веб - логинишься в нем через тот же телеграм
std::mpa🌲:
идея крутая, если честно
mr.Slavik:
там тебе открывается типа гугл диска что то - можешь создавать папки, закидывать файлы, закинутые файлы загружаются в телегу и закидываются в key-value базу, ну можно еще какой нить временный буфер на диске делать, чтоб не гонять туда сюда постоянно
соответственно перенос/переименование файлов - просто меняется ключ в базе данных
а потом можно синхронизировать данные с какими нить каналами в самой телеге - например закинул в менеджере файлы в папку
а они в телегу в канал приватный прилетели
и наоборот
можно еще посмотреть попробовать на низком уровне - в плане, что лимит 80-100мбит он на клиента, а не на сервер
так что можно попробовать запускать несколько загрузок параллельно разных чанков и склеивать все на лету - сразу же решается вопрос с разделением на части, нам все равно сколько частей, если можем чанками оперировать
ну и сделать это опенсорсно и увековечить свое имя навеки
ну и можно на самом деле пойти по пути аля pyrogram или как там - типа расширенный ботапи
серверная инфраструктура которая будет заниматься разруливанием/кэшированием потоков, поддержкой обновлений API телеги и так далее типа торрент трекер
короче я ничего запредельного не вижу, просто работы для одного многовато - вдвоем-троем уже можно взяться
ну и писать над на go/c++ чем нить таком
чтоб с памятью было где развернуться с махинациями там с чанками и всякое такое
а к тому времени мож и разродятся блокчейном гении наши и можно будет прикрутить к этому всему монетизацию какуюнить через родной же блокчейн
лан - пойду оформлю говнокода кусочек пока, но я серьезно настроен - так что пишите кто надумает - над делать
mr.Slavik:
посоны - че ктонить будет писать файловый абуз?
я короче подумал и пока прикинул что фронтенд на typescript, бекенд на go/c++, mongodb и redis
ну пока вы хотите - я делаю короче
https://qjon.github.io/angular2-filemanager/
начну с чего то типа такого
Nomir:
ты хочешь через свой сервер кидать или напрямую?
mr.Slavik:
в идеале напрямую конечно, но первую версию думаю сделаю с временным буфером на серваке
Vadim Lesich:
вот будешь удалять что то либо заливать, а тебе хоба еррор какой то в лицо, а у тебя транзакции есть и все ок будет
mr.Slavik:
слова не мальчика, но мужа...
то есть это все для чего нужны транзакции?
можно с нескольких источников объединять потому что
и плюс чанки дешифровывать над тож по хорошему на серваке, ну и я тайпскрипт изучаю вот прям сейчас
так что не хочу пока сам с клиентом запариваться и на нем чет там делать
сделаю файловый менеджер простенький и в итоге будет из буфера брать на серваке стандартными способами
на хабр прототип закину как будет готов - там мож найдутся деятельные люди, которые включатся
Nomir:
ты хочешь не через ботапи загружать?
mr.Slavik:
нет
через клиент апи
ну у меня микросервисы уже в принципе есть для этого
от аудиобота
на redis rq - так что тут прототип должен быстро состряпаться
нужно ток будет с базой чуток и фронтендом повозиться
чисто чтоб работало)
хоба еррор такой в лицо, а я такой хоба перезалил
посоны - че ктонить будет писать файловый абуз?
я короче подумал и пока прикинул что фронтенд на typescript, бекенд на go/c++, mongodb и redis
ну пока вы хотите - я делаю короче
https://qjon.github.io/angular2-filemanager/
начну с чего то типа такого
Nomir:
ты хочешь через свой сервер кидать или напрямую?
mr.Slavik:
в идеале напрямую конечно, но первую версию думаю сделаю с временным буфером на серваке
Vadim Lesich:
вот будешь удалять что то либо заливать, а тебе хоба еррор какой то в лицо, а у тебя транзакции есть и все ок будет
mr.Slavik:
слова не мальчика, но мужа...
то есть это все для чего нужны транзакции?
можно с нескольких источников объединять потому что
и плюс чанки дешифровывать над тож по хорошему на серваке, ну и я тайпскрипт изучаю вот прям сейчас
так что не хочу пока сам с клиентом запариваться и на нем чет там делать
сделаю файловый менеджер простенький и в итоге будет из буфера брать на серваке стандартными способами
на хабр прототип закину как будет готов - там мож найдутся деятельные люди, которые включатся
Nomir:
ты хочешь не через ботапи загружать?
mr.Slavik:
нет
через клиент апи
ну у меня микросервисы уже в принципе есть для этого
от аудиобота
на redis rq - так что тут прототип должен быстро состряпаться
нужно ток будет с базой чуток и фронтендом повозиться
чисто чтоб работало)
хоба еррор такой в лицо, а я такой хоба перезалил
Forwarded from Deleted Account
вот будешь удалять что то либо заливать, а тебе хоба еррор какой то в лицо, а у тебя транзакции есть и все ок будет
Deleted Account
вот будешь удалять что то либо заливать, а тебе хоба еррор какой то в лицо, а у тебя транзакции есть и все ок будет
mr.Slavik:
хоба еррор такой в лицо, а я такой хоба перезалил
потому что у меня документ это просто ссылки
и я за константу ищу любую запись
а не бегаю к каждой ячейке как идиот
так у меня будет одна IO
а если атомарность на уровне ячейки, то мне при каждом переходе надо IO делать
лучше я буду перезаливать весь документ при ошибке, чем постоянно на каждое значение тратить IO
зато с транзакциями
опять же - для чего нужна вообще субд
в основном для индексов
с монгой мне потребуется один индексный поиск по юзер айди после чего я получаю всю структуру его документов
в sql же я буду как идиот по таблицам прыгать
Vadim Lesich:
Сходу не скажу ибо тут нужна грамотная проектировка
mr.Slavik:
о том и речь
что с монгой просто берешь в таких случаях и делаешь как знаешь на данный момент - и оно работает за константу, плюс возможность изменять структуру данных по ходу проекта
расплата - да, нет транзакций
но если это не банковский какой нить сервис или типа того - реально нужны ли эти транзакции?
Vadim Lesich:
а вот в плюс это отличная масштабируемость mongodb
Лично я всё туда пихал бы(чисто моё мнение)
mr.Slavik:
короче лучше помогите фронтенд какой нить наговнячить) с базами как нить разберусь
https://github.com/filebrowser/filebrowser
че скажете про такой варик? меня привлекает, что нету букв php в нем
mr.Slavik:
www.tgcloud.xyz
держу в курсе)
пока что вроде бы разобрался с клиентом и исходниками - осталось в исходниках поколупаться и переписать некоторые функции
@slavikmipt
mr.Slavik:
клиент кстати поднял и даже немного в код вник - посплю и буду телегу цеплять
https://tgcloud.xyz:2015
user
user
вроде бы
std::mpa🌲:
как планируешь ссылки на файлы делать, файл ид?
mr.Slavik:
в итоге планирую сразу и выдвать:
первое время будет временный буфер на диске - добавлю еще одно состояние для файлов - буферизован или нет. То есть - нужен файл для загрузки - его сперва на диск скачивают минут на 10-20
а потом уже можешь качать себе - в принципе не сверхкритично для MVP. Тем более что безлимитный объем
хоба еррор такой в лицо, а я такой хоба перезалил
потому что у меня документ это просто ссылки
и я за константу ищу любую запись
а не бегаю к каждой ячейке как идиот
так у меня будет одна IO
а если атомарность на уровне ячейки, то мне при каждом переходе надо IO делать
лучше я буду перезаливать весь документ при ошибке, чем постоянно на каждое значение тратить IO
зато с транзакциями
опять же - для чего нужна вообще субд
в основном для индексов
с монгой мне потребуется один индексный поиск по юзер айди после чего я получаю всю структуру его документов
в sql же я буду как идиот по таблицам прыгать
Vadim Lesich:
Сходу не скажу ибо тут нужна грамотная проектировка
mr.Slavik:
о том и речь
что с монгой просто берешь в таких случаях и делаешь как знаешь на данный момент - и оно работает за константу, плюс возможность изменять структуру данных по ходу проекта
расплата - да, нет транзакций
но если это не банковский какой нить сервис или типа того - реально нужны ли эти транзакции?
Vadim Lesich:
а вот в плюс это отличная масштабируемость mongodb
Лично я всё туда пихал бы(чисто моё мнение)
mr.Slavik:
короче лучше помогите фронтенд какой нить наговнячить) с базами как нить разберусь
https://github.com/filebrowser/filebrowser
че скажете про такой варик? меня привлекает, что нету букв php в нем
mr.Slavik:
www.tgcloud.xyz
держу в курсе)
пока что вроде бы разобрался с клиентом и исходниками - осталось в исходниках поколупаться и переписать некоторые функции
@slavikmipt
mr.Slavik:
клиент кстати поднял и даже немного в код вник - посплю и буду телегу цеплять
https://tgcloud.xyz:2015
user
user
вроде бы
std::mpa🌲:
как планируешь ссылки на файлы делать, файл ид?
mr.Slavik:
в итоге планирую сразу и выдвать:
первое время будет временный буфер на диске - добавлю еще одно состояние для файлов - буферизован или нет. То есть - нужен файл для загрузки - его сперва на диск скачивают минут на 10-20
а потом уже можешь качать себе - в принципе не сверхкритично для MVP. Тем более что безлимитный объем
GitHub
GitHub - filebrowser/filebrowser: 📂 Web File Browser
📂 Web File Browser. Contribute to filebrowser/filebrowser development by creating an account on GitHub.
std::slavik
Потому что могу. tg://proxy?server=multi.proxy.mediatube.xyz&port=443&secret=89497cfa5374042d51cbf6413de2deda
std::mpa🌲:
рестрикты по RPC не ловил?
mr.Slavik:
Больше часа уже - полет нормальный пока
первый раз по моему было - но я тогда каждые 1.5 что ли секунды обновлял
пока не заметил, что десктопный клиент не успевает с такой частотой, а потом флуд вейт прилетел) сейчас вот 4 выставил - вроде бы не смущает телегу)
да и как бы сейчас времена такие - упекут за разжигание и ненависть к меньшинствам
видимо не дергаются поэтому
Rocket:
Круто конечно. Но зазря ест ресурсы телеги.
mr.Slavik:
всмысле зазря
Rocket:
В прямом. Не рассчитано оно на это. Каждая смена - это нотификация всем твоим юзерам.
mr.Slavik:
у меня вон ресурсы дедика все никак не могут нормально загрузить десятки тысяч человек
что аж прихоится торренты свои делать
а тут че то думаешь телеге будет от этой картинки?)
и тем более она вовлеченность повышает
Rocket:
Телеге мож ничего и не будет. А вот трафик юзеров кушать - так себе идея.
mr.Slavik:
ты понимаешь о чем говоришь?)
о ~200кб картинке раз в 4 секунды
это если считать, что они не кешируются
но они кешируются
когда онлайн на прокси 30к человек + еще бот чет качает - у меня канал загружается дай бог до 250мбит эверейджа
то есть на одном серваке спокойно может 100к+ одновременно сидеть
а щас 5к сидит на двух) у кого я там че отнимаю)
рестрикты по RPC не ловил?
mr.Slavik:
Больше часа уже - полет нормальный пока
первый раз по моему было - но я тогда каждые 1.5 что ли секунды обновлял
пока не заметил, что десктопный клиент не успевает с такой частотой, а потом флуд вейт прилетел) сейчас вот 4 выставил - вроде бы не смущает телегу)
да и как бы сейчас времена такие - упекут за разжигание и ненависть к меньшинствам
видимо не дергаются поэтому
Rocket:
Круто конечно. Но зазря ест ресурсы телеги.
mr.Slavik:
всмысле зазря
Rocket:
В прямом. Не рассчитано оно на это. Каждая смена - это нотификация всем твоим юзерам.
mr.Slavik:
у меня вон ресурсы дедика все никак не могут нормально загрузить десятки тысяч человек
что аж прихоится торренты свои делать
а тут че то думаешь телеге будет от этой картинки?)
и тем более она вовлеченность повышает
Rocket:
Телеге мож ничего и не будет. А вот трафик юзеров кушать - так себе идея.
mr.Slavik:
ты понимаешь о чем говоришь?)
о ~200кб картинке раз в 4 секунды
это если считать, что они не кешируются
но они кешируются
когда онлайн на прокси 30к человек + еще бот чет качает - у меня канал загружается дай бог до 250мбит эверейджа
то есть на одном серваке спокойно может 100к+ одновременно сидеть
а щас 5к сидит на двух) у кого я там че отнимаю)