ТехСпец Pro
207 subscribers
137 photos
27 videos
26 links
Канал про интеграции инструменты и ведения проектов.
🌐https://techspec.pro
ИНН: 710006010307
Download Telegram
По поводу «ничего интересного в отправке сообщений» выше я слегка погорячился 🙃

На самом деле есть. Я конечно не имею ввиду вызов функции sendMessage. Однако сам процесс отправки сообщений штука, как минимум разнообразная, как минимум по тому, что есть несколько способов это сделать.

▫️через Bot API
▫️через MTProto
▫️через Local Bot API

У каждого способа свои преимущества и недостатки.

Первый способ, Bot API, можно сказать, что это отправка «как обычно» Ничего шибко нового.

MTProto это «родной» протокол для Telegram. Через него работают не только боты, но и наши обычные аккаунты (и юзерботы тоже). Но работать с этим протоколом сложнее, хотя как лично мне показалось, что работает он существенно быстрее.

Но мне не удалось найти не одного достоверного источника который бы это подтвердил. По этому скорее всего там все те же 30 запросов в секунду и не более того.


Local Bot API и вовсе занятная история.

Обычный Bot API это точно такой же Local Bot API сервер, но работает он на домене телеги и на их физических серверах и с чутка подрезанными лимитами.

Local Bot API же позволяет снять ряд ограничений с Bot API и по сути позволяет работать с ботами точно так же как и обычно, без подключения к MTProto напрямую, но с рядом отличий. Например в бот можно спокойно отправлять файлы до 2Гб, а не 50Мб как это происходит при использовании Bot API телеграма.

Но это требует развертывания такого сервера на своем железе. Я вот поигрался чутка с этим, штука весьма интересная. Но едва ли подойдет для моего рассыльщика.

Все дело в том, бот не станет просто так работать с локальным бот-сервером и бот нужно переключить.
Для этого нужно выполнить команду logOut. Но после выполнения этой команды бот разлогиниться с серверов телеграма и при первом соединении с локальным бот-сервером залогиниться в нем. В свою очередь это означает, что конструктор ботов, к которому был привязан этот бот потеряет возможность взаимодействовать с ним.

Но я вчера поставил такой сервер, чутка поигрался с ним. Но увы, увидел очень и очень ограниченные кейсы его применения.
👍2
Расскажи чем ты занимаешься, не называя свой род деятельности и должность, но что бы все поняли 😁
😁8
Я тут хожу который день ковыряю себе мозги тем, а надо ли пилить какой-то материал по поводу правильной работы с self-hosted медиа файлами.

Что это такое?
Основная идея в том, что у вас свой сервер и со своего сервера можно творить разнообразный беспредел. Раздавать видео (просто просмотр), сделать себе на сайт трансляцию, можно организовать свой рестрим (одновременная трансляция на несколько сервисов)

Я в теме потокового вещания не гуру, но и далеко не первопроходец и не первый день.

Другой вопрос, что возможно кому-то не охота будет поднимать свой сервер или сложно это сделать.

Про минимальную рабочую конфигурацию, как поднять сервер я то расскажу.

Просто не очень охота пилить что-то такое в стол, лишь бы было.

А по тому внимание опрос 📋
🔥6👍2
Случается иногда у меня такое, что делать совсем нехрен, нет, работа то всегда есть, (а вот работать не всегда охота) и тогда начинаются приключения.

Частенько перед сном я отсматриваю различные онлайн-барахолки на предмет «а вдруг наткнусь на что-то интересное» и вот в одну из ночей натолкнулся на предложение сенсорного монитора.

Ну не совсем сенсорного и не совсем монитора.

В не таком далеком прошлом всюду стояли различные терминал: счет там на телефоне пополнить, онлайн кошелек, голоса ВКонтакте купить (как я стал стар) и вот состояли такие терминалы в основном из какой-то дешевой древней материнской платы, такого же дешевого монитора в разобранном виде, сенсорной панели и 3G свистка-модема. Ещё зачастую антенная стояла где-то сверху. Ну и какой-нибудь купюроприемник.

Так вот с подобного терминала я и прикупил барахлишко в виде разобранного монитора ЛОС, сенсорной панели и её контроллера.

А подключать все надумал к одноплатному компьютеру Orange PI 3 LTS. Ну что бы не скучно было.

На винде делов не особо много, воткнул кабель, поставил драйвер. Профит.

А на одноплатнике линукс. А ещё и ARM-процессор. Прям что бы совершенно скучно не стало.

В итоге кое как разобрался как питание подать (кабель питания контроллера видимо пришел не от той модели контроллера панели, из-за чего я чуть его не сжог).


После подачи питания курсор появился но был «прибит к верхнему левому углу» и скакал.

Ну раз курсор появился, решил я все подключить не к моему нормальному монитору по HDMI. А к тому, что пришел в комплекте. А он VGA. Переходник HDMI-VGA пришел кривой (они редко нормальные в принципе существуют) в итоге я потратил немало времени, что бы заставить это дело хотя бы в 640х480 работать. Но заставил.

Затем обклеил монитор скотчем. Ибо монитор с металическим корпусом создавал помехи на лежащей на нем панели 🤪

А потом ещё несколько часов интимных приключений с компиляцией программ под ARM процессор, поиски и корректировки Bash-скриптов для проведения калибровки сенсорной панели. Но в итоге с помощью гугла Яндекса и какой-то матери все это добро удалось заставить нормально работать 👌🏻

Вот так и прошел весь воскресный вечер и чутка ночь понедельника 🙃🤷‍♂️
🔥4😁3🏆1
Что такое потоковое видео и как все это устроено?

Если интересно, смотрите по ссылке: Потоковое видео своими руками (теория)

Таких заметки будет минимум две:

▫️Теоретическая часть (ответ на вопросы, а зачем и почему так?)

▫️ Практическая часть (ответ на вопрос, а собственно как это сделать?)

Так сделано, что бы не перегружать информацией в практической части и если кто-то захочет повторить, то не возникало чувство недосказанности и вопросов, а зачем так то все делать?

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

📍Почему возникла такая необходимость?

📍Что не так с VPN при воспроизведении потоковых видео.

P.S. Это моя первая статья в которой все графические материалы я отрисовывал с нуля самостоятельно 🥲 По этому если где-то что-то не стыкуется, или оскорбляет чувства перфекционистов — извиняйте 🤷‍♂️
Я предупредил 😅
👍10🔥1
😁12🤣11💯3
Не OBS-кой и Zoom единым))

Что бы как-то развлечься в 4м часу ночи решил так сказать, тряхнуть стариной 👴

Ведем ночной эфир на онлайн-радио 📻
🔥7🥰3
Когда ну очень надо было оповестить о изменениях 😁
😁7🗿3
Email2Webhook

Друзья, не поверите…

Позавчера пол ночи ворочался, не мог уснуть. В голове крутилась мысль, а почему бы не высылать входящие сообщения с электронной почты куда-то наружу.

Применений тому масса, особенно в нашей работе. Да и сервисы такие видел. Но я продолжаю пробовать всякое разное и писать свой софт под себя.

И вот я день собирался с мыслями, но понял, что печет оно меня 🥵

В итоге сегодня вечером засел и написал простенький микросервис который с определенным интервалом опрашивает почтовый сервер на предмет не прочитанных сообщений и передает их на указанный url в виде JSON.

Он не умеет читать вложения (да и не особо-то надо) но основные параметры регистрирует. И этого мне пока достаточно.

Ещё лежал думал, что не плохо было бы при заходе на новый проект, хотя бы пароли от того же GetCourse сразу автоматически вносить в менеджер паролей (эт дело у меня тоже свое) или же информация о оплате нового заказа или после сдачи ДЗ куратору в бот или в чат выслать, новую покупку в Telegram (такое решение у меня уже есть и без емейлов, но тем не менее)

А ещё не охота забивать голову оплатами разных сервисов, особенно когда их много, а так… Смотрим емейл отправителя, ищем в письме контрольные слова. Если это похоже на «письмо счастья» шлем вебхук на условный сейлбот и оповещаем всех причастных, что пора оплачивать очередной сервис.

В общем, применений очень много.
И пользоваться такой штукой я могу как угодно не опасаясь банов и выходов за лимиты (почтовый сервер у меня тоже свой)

Ещё как будто бы готовые решения подобные есть, надо будет и их проверить. Сегодня я просто хотел написать свой велосипед и с этим справился. С чем с вами и делюсь.

Если тема интересная, накидывайте реакций и как только найду что-то вменяемое — поделюсь ссылочкой и инструкцией по развертыванию.

По второй, практической части, работы с потоковыми видео тоже помню, пилю 🪚 Ну вот отвлекся случайно чуть-чуть 🤏 Но все будет.


А пока пошел я ворочаться дальше, до утра времени много, гляди ещё что придумаю.
🔥13👍3👏1
Новая жизнь GetCourse

В первую очередь хотел поблагодарить всех, кто пришел на мой канал с конференции GETC. Постараюсь оправдать ваше доверие 😉

На этой же конференции дважды поднималась тема взаимодействия с Chatium. И вот собственно об этом и пост.

Ещё в прошлый раз мельком затрагивалась тема этого приложения. Я посмотрел и отчасти отнесся с некой долей скепсиса к возможностям чатиума. А оказалось очень зря. В этот раз решил прям предметно разобраться и на примере живого проекта построил интеграцию между Тильдой и геткурсом. По сути классика, да не совсем.

Суть задачи в том, что на тильде собраны формы для разных источников трафика. Информацию с этих форм необходимо передать на GetCourse. Дополнительно, заказчик пожелал, что бы информация не просто передавалась в GetCourse, но и производилась запись в доп.поля.

При этом не создавались дубли заказа от одного и того же лида. И чтобы GetCourse учитывал только последнее заполнение формы. Допустим клиент увидел сторис в известной соц.сети и заполнил анкету. А затем встретил ту же анкету и заполнил её уже с поста в Telegram.

GetCourse должен создать нулевой заказ, а затем обновить содержимое доп.полей на информацию с последней заполненной анкеты.

Решить в лоб такого рода квест не выйдет. Можно писать интеграцию на уровне API GetCourse. Но едва ли реализуемо обновление уже существующего заказа. Да и к тому же нужен отдельный сервер или хостинг.
Время на решение задачи было с запасом и я решил в «бою» опробовать Chatium.

Все, начиная от маршрутов для вебхука заканчивая хранилищем и логикой я полностью реализовал силами Chatium за пару вечеров.

Да, логика там своеобразная. Но тем не менее разобраться можно. Все пожелания клиента реализовать удалось. В полной мере. На уровне хранилища (Heap) я не только записывал данные с анкет, но и реализовал контроль дублей.

Методы getcourse-sdk позволили добавлять заказ, писать комментарий и самое главное — обновлять информацию в заказе. Попутно накидал не сложный виджет и подвязал его к карточке клиента.

Сказать, что я остался доволен как слон, ничего не сказать 🙃

На самом деле, года полтора назад я в целом утратил интерес к GetCourse как таковому. Да, были и есть проекты на сопровождении. Переодически что-то там делаю. Но спектр своего внимания я чуть более чем полностью сместил в сторону разработки серверных решений и SaleBot (к последнему во многом благодаря хорошему API и возможностью использовать код на Python внутри конструктора), а GetCourse остался за бортом.

Но вот вся эта история с Chatium в целом вдохнула желание снова начать более плотно работать с геткурсом. Возможностей API там достаточно, есть где разгуляться. И былой скепсис как ветром сдуло 😁

На самом деле я впервые за долгое время полностью удовлетворен как задачей так и решением. Это был интересный квест и пока разбирался с этим, в голове созрело ещё с десяток самых разнообразных применений.

А еще немного грустно, ибо практика показала, что без детального погружения и разбора в новой теме не стоит сходу относится к тем или иным решениям со скепсисом. Лучше все таки потратить время и хотя бы минимально все опробовать.

Так что будь разработчиком, но не будь как Саша и не забивай на что-то просто из-за дефицита времени и недостаточной осведомленности о новой для себя системе 🥂
🔥12👍53🏆1
Просто я и ТЗ 😆
🤣15🔥8😁4👾1
Комментировать только портить 🤣🤣🤣🤣
🤣8😁2
Просто история: разработчики и пользователи 🤬🤯

Самое интересное, у меня есть номер тлф этой гражданочки о которой идет речь в голосовом. И я еле еле сдерживаюсь от того, что бы позвонить ей и высказать всё, что я думаю 😤

P.S Голосовые я сюда ещё не писал, но вот тут важна эта эмоция. И то… Это я уже остыл чуть-чуть 🤏
😁15🤡5👏4
This media is not supported in your browser
VIEW IN TELEGRAM
Коротко о правках в ТЗ 😁

P.S Друзья, не теряйте меня, чутка разберусь с задачами и вернусь с чем-то интересным (наверное 🤔)
😁8
Новые ограничения в запретограме

Друзья, наблюдаю в сети волну публикаций которые касаются новых правил одной запрещенной соц.сети.

Основные важные для нас изменения касаются вероятных блокировок за выдачу лид-магнитов за кодовые слова под рилс.

А так же как-то ограничивать уникальный контент и не выдавать его до тех пор пока человек не подпишется. За это с января 2025 можно загреметь под ограничения или бан.

В текущий момент как обычно, мнения разделись. Кто ссылается на «трудности перевода», кто утверждает, что такие правила действуют уже давно и вроде бы всем пофиг.

Но запрещенная компания всегда отличалась тем, что она имеет своих пользователей за их же деньги. И уж точно не упустит возможность делать это и бесплатно.

По этому, как говорится, «предупрежден значит вооружен». Я не удивляюсь, если к вышеописанными механикам действительно прикрутят баны, предупреждения и пессимизацию выдачи. И советовал бы заранее искать альтернативные способы и источники трафика.

Когда вам надо, а у нас нет, тогда и жалуйтесь. Это мой основной принцип. По этому альтернативы текущим подходам лишние быть не могут априори. А странные выпады от запрещенной компании увы не редкость.
👍2🤬1
Как научится программировать (и не только)

Я совру, если скажу, что часто кто-то меня спрашивал об этом. Но такие эпизоды время от времени происходят. Очередной такой эпизод случился на днях и вопрос прилетел мне в личку в ВК (чему я был знатно удивлен)

Вопрос в целом классический: а какой ЯП выбрать? А как какой фреймворк? А какую среду? А какой подход и/или курс по программированию выбрать?

Обсуждать языки программирования мне не охота, их много. Каждый решает свои задачи, во многом между собой пересекаются и в целом тема холиварная.

А вот подход, это история совсем другая. К слову я уже лет 10-12 что-то разрабатываю. И почти под все, что под руку попадется. От бэкенда на JS и Python до ассемблера для микроконтроллеров.

Так вот…

Я самоучка. Не заканчивал никаких курсов, нигде не обучался этому в ВУЗах (ну кроме базы а-ля hello world или расчета математических формул в которых я нихрена не понимал, да и не понимаю).

Первый мой курс по программированию, это цикл видосиков какого-то автора, который залил свои видео на один из пиринговых обменников. Товарищ из видео не особо зацикливался на прояснении той самой базы: массивов, циклов и т.п Просто было так:

«А давайте сейчас захреначим окошко которое будет сваливать от курсора мыши по всему экрану», а когда он уставал, он включал сериал Доктор Хаус.

Одно его видео — 3-4 часа времени, за которые не только что-то узнаешь о программировании на Delphi, но против своей воли посмотришь пару очередных серий сериала.

Но в чем суть-то? А вот в чем. Лично для себя я определил путь обучения через решение прикладных задач. Я просто придумывал задачу, а потом всеми правдами и не очень, пытался эту задачу решать.

Прелесть этого подхода в том, что ты занимаешься тем, что конкретно тебе интересно и нужно. У тебя есть реальная задача и ты ищешь решение в рамках своей зоны интересов. Мне совершенно до разбитой лампочки были все эти алгебры и матаны. И за все время, что я пишу софт — я это нигде не применял.

А раз есть интерес к чему бы то не было, то и мотивация будет и сложности в обучении будут восприниматься не так остро. Зато результат, когда твоя программка заработает, это превзойдет все ожидания и даст отличный стимул для новых свершений.

Конечно, я не истина в последней инстанции, но возможно кто-то из вас и сейчас смотрит в сторону разработки как на путь в Хогвартс. Но на самом деле все не так страшно и сложно. И математика не нужна (во всяком случае, если тебе не надо обрабатывать графику/звук/сигналы и писать свою СУБД или нейросеть)

Все, что нужно, это интересная для тебя задача, которую с помощью кода, гугла и какой-то матери ты обязательно решишь.

К тому же в целом сейчас стало проще. При всем моем скептицизме в отношении нейросетей, они все же не плохо справляются с типичными задачами (а на старте едва ли будут другие) и вполне можно пойти в GPT и позадавать вопросы на которые можно получить ответ. А это роскошь, господа и дамы.

Когда я делал первые шаги, вместо ответа можно было сразу получить целую дорожну карту. Куда-нибудь на три советских назаборных художества.

Так что все в твоих руках и влезать в разработку никогда не поздно (хоть лучше и не оттягивать резинку, особенно в области чувствительных органов)
🔥13
Когда кто-то пишет в личку «Тут?» 😁
😁4😭2