ТехСпец Pro
207 subscribers
137 photos
27 videos
26 links
Канал про интеграции инструменты и ведения проектов.
🌐https://techspec.pro
ИНН: 710006010307
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что ж друзья…

Уже в эту пятницу у меня юбилей, первые 30 лет моей жизни 🎂, 5 из которых я посвятил работе с онлайн-школами, ботами и конечно же разработкам 👨‍💻

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

Сразу оговорюсь, я по прежнему никому ничего не продаю и этот пост не подводка к продажам, если кто вдруг так решил.

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

Так вот. Бесплатно. Без регистраций и SMS.

1️⃣ MarkBot (@sbmarkdownbot) — инструмент который существенно упрощает жизнь с рассылками и воронками в SaleBot по части отправок сообщений с разметкой Markdown. Да, у него бывают помутнения (точнее это в API Telegram) но в 99% случаев он спасает.

2️⃣ Сегодня этот бот обзавелся приложением которое ищет виджеты GetCourse на различных сайтах и ведет прямо в редактор. Если вы часто работаете с GC и виджетами, заходите — пользуйтесь)

3️⃣ Так же для активных администраторов GetCourse есть публично доступное расширение для браузера которое позволяет со страницы урока сразу перейти в хранилище к нужному видео. Эта так же одна из таких задач которые часто всплывают и не охота тратить кучу времени на поиск исходного видео.
Это расширение вполне справляется с своей задачей. Напоминаю, что это для администраторов, ученикам школ ничего скачать не даст)

Позже опубликую и другие инструменты которыми я пользовался, как только приведу их в более менее вменяемый вид 😅

Вместо заключения ✌🏻
Поздравлять меня можно в личку, можно и в сообщения канала (которые я здесь кстати подключил недавно) и с вопросами/предложениями/пожеланиями/просто по болтать — тоже можете приходить 🔥
🔥26🎉94👏2😍1🍾1
Когда хотел увидеть бурдж халифа но что-то перестарался с желаниями 😂😂😂
😁11🤣7🔥3
Занятная история у YooMoney вышла
😨11😱3🥴2
Forwarded from Код.ру
🦴 Управление ботами упростили

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

💘 Мини-приложение отличается интуитивно понятным интерфейсом.

💘 На отдельные разделы разбиты настройки монетизации и редактирования ботов.

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

💘 Ранее для создания бота каждое текстовое поле нужно было заполнять по одному и подтверждать командой в чате с BotFather.

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

💻 Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍53😍1
Предыстория.
Ко мне обратился клиент с классической просьбой провести обычный вебинар.

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

Абсолютно штатный запрос. В 95% случаев фризы видео связаны с нехваткой производительности компьютера, реже подобное происходит из-за проблем с сетью.

Не много матчасти.
Видео с камеры, зачастую поступает в формате MPEG и передается в не сжатом виде, со скоростю потока порядка 200-400 Мбит (мегабит). Передавать поток на таких скоростях определенно плохая идея, так как даже сейчас ширина канала интернет в основном не превышает 50 мегабит. Решением проблемы является процедура транскодинга, т.е сжатия на лету. Когда условно каждый кадр компьютер должен перекодировать с прожорливого MPEG в стильный скромный современный h.264 AVC кодек понизив скорость потока до 2.5…10 Мбит.


Однако такое решение порождает новую проблему. Я намеренно указал, что транскодировать видео должен компьютер. Но что именно в компьютере отвечает за работу видео?

Есть несколько вариантов. Это может быть программный энкодер и в этом случае для транскодирования задействован процессор компьютера.

А может быть задействован специальный аппаратный декодер. Что бы упростить понимание, назовем это отдельным чипом который находится на одном кристалле с видеокартой. В этом случае работает механизм DMA (Direct Memory Access) который захватывает кадр с камеры и минуя процессор (и не нагружая его) передает этот поток на чип-энкодер. А затем тот же DMA передает уже сжатый кадр далее, в нашем случае в сеть, на сервер вебинарной площадки.

Таким образом можно разгрузить процессор компьютера и переложить очень вычислительно тяжелый процесс сжатия кадров на специализированный чип. Результат — получаем абсолютно плавную картинку в эфире.

Но в этот раз что-то пошло не так. Аппаратный декодер был доступен, но напрочь отказался работать, что в моменте меня удивило. Обычно такое происходит если используется устаревшая версия OBS Studio либо устаревший/не подходящий драйвер видеокарты.

Но OBS была обновлена. Драйвер был корректный, а мое внимание привлекло то, что в диспетчере устройств отображались две видеокарты. Это норма для ноутбуков и бывает и в стационарных компьютерах.

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

Операционная система как правило сама выбирает, какой чип использовать для какой задачи. В этот раз такой механизм сыграл злую шутку. Дело в том, что с высокой вероятностью Windows для работы OBS Studio выберет более производительный, а значит дискретный графический чип.

Но оказалось, что конкретно в этом ноутбуке производитель решил сэкономить. Обычно аппаратные декодеры h.264 реализованы и в встроенной графике и в дискретной. Но не в этот раз…

Производитель оставил аппаратный декодер только в встроенную графику, а дискретный чип оставил без этого модуля. В итоге при запуске OBS происходила занятная ситуация:

1. OBS Studio запускалась с использованием высокопроизводительного дискретного чипа (AMD Radeon 620) без декодера.

2. OBS Studio определяла и встроенную (энергоэффективную) графику и видела аппаратный декодер (который встроен в AMD Radeon Graphics), но не имела прав на использование этого модуля.

Решение проблемы в целом выглядит как принудительный запуск OBS с использованием встроенной (энергоэффективной) графической системы. В предыдущих версиях Windows можно было по ПКМ выбрать с каким именно графическим процессором запускать программу. Начиная с W10 эту настройку спрятали глубоко в панели управления в разделе графики. Нужно указать путь к программе OBS и указать с каким видео-чипом её запускать.

После этих настроек все заработало штатно. И тест эфира и сам вебинар прошли замечательно, без каких либо сбоев, фризов и подвисаний. А для меня это был новый опыт, я бы не подумал, что какой-то производитель вырежет декодер с дискретного чипа.
🔥8👍7🤯5
Занятное приключение случилось тут со мной 🙃

Обратилась ко мне знакомая девушка, давненько работали вместе над парочкой проектов.

Польский проект. Из незапрещенного в РФ только Telegram.

Для учеников Kwiga.
Для ботов Manychat.
И здесь началась карусель конкурсов.

Ладно, Manychat. Его я ещё хотя бы видел и пару раз ковырял. Но ребятам понадобилась форма сбора контактов в духе минилендингов в SaleBot. А здесь может я чего не знаю, но облазив вдоль и поперек Manychat ничего такого я не нашел. А Kwiga я и вовсе первый раз вижу. По срокам тоже экстремально, в прямом смысле ещё вчера надо было.

Штош.
У Kwiga есть документация и русскоязычный интерфейс. Помучились, но в целом классика. Продукт. Предложение. Курс. Все вроде бы штатно, просто менюшки найти ещё надо было. Но нашлись.

А вот с анкетой по веселее. Во первых два мессенджера — 2 кнопки. Во вторых, хорошо бы, что бы кнопки не нажимались пока контакты не заполнят. Да и так, чутка организационной информации. В общем тильда отпадала да и диз был не на связи. А с меня верстальщик — ну вы думаю знаете.

В общем полез я в нейросети. Там кое как я добился более менее внятной верстки в виде React приложения. Ручками допилил логику. Данные хранить тоже надо было где-то. Хотел в Google таблицах. А фиг там. Написал Google AppScript для получения данных формы с POST-JSON. Но был послан лесом из-за CORS…

План Б.
Все равно анкета получилась в виде ReactApp. Все равно ставить на сервер. В общем взял NodeJS + Express + MongoDB. На скорую руку набросал бэкенд, раскинул маршруты для API и React билда. Собрал все в кучу. Засунул на сервер. Уронил сервер пока возился с кэшированием. Но кое как за час с лишним и анкету тоже победили. Попутно решил все таки с бэкенда слать данные на таблицы. Не пропадать же коду :)

В общем с помощью нейросетей и какой-то матери выкрутились.

Боты работают. Анкета работает. Регистрации падают. Ученики уже получили свои письма с доступами.
И сроки вроде бы не сильно сместили.

А я вот теперь, побит но не повержен иду отдыхать)

Мораль сей басни прост: даже в безвыходных ситуациях как правило есть решения, просто не сдавайтесь)

А если вы запутались в чем-то, можете писать мне в сообщения канала)
1🔥12👏5👍4
Очень похоже, что изоляции Рунета таки быть 🤦‍♂️
😱6👍1🤔1
Прекрасное далёко или Золотой Telegram 🙃

Сегодня случайно наткнулся на занятную особенность Telegram Bot API.

Обычно при взаимодействии с пользователями бот может отправлять порядка 30 запросов (сообщений) в секунду. Это прям предельное значение которое как правило не так просто добиться.

Однако, оказывается, есть возможность отправлять до 1000 запросов (сообщений) в секунду 😳

Но стоит это не дешево, да и бот должен соответствовать условиям:

1. Больше 100 000 активных в месяц;
2. Иметь на балансе 100 000 звезд и более.

Если вдруг ваш бот подпадает под эти условия, тогда можно включить опцию платных сообщений. Тогда каждое сообщение отправленное чаще чем 30 запросов в секунду будет стоить 0.1 звезду. Это примерно 21 копейка за сообщение в пересчете за рубли. При этом если API запрос завершится ошибкой (нет диалога/человек отписался от бота на момент старта рассылки) тогда запрос не тарифицируется. Учитываются только отправленные сообщения.

[Пруфы]

А ещё в ботах можно использовать Premium-смайлы. Но эта опция доступна только в том случае, если для своего бота вы приобретаете премиум-юзернейм на платформе Fragments. А их цена также близка к 1 млн рублей ✌🏻

[Пруфы]

Нравится мне Telegram однако 🙃
1🤯4🔥2🤔1🐳1🗿1
Media is too big
VIEW IN TELEGRAM
Суровая автоматизация бизнеса и как я перешел в онлайн

Вообще я родом с небольшого городка областного значения. С работой у нас всегда было мягко говоря туго в связи с чем, кем я только не работал…

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

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

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

Куча механики, пневматики, электромагнитное сцепление и ещё много всяких устройств. Практически любая ошибка в «аппаратном» коде приводила к помятой железке, порванному ремню, жесткому перегреву или клину. Что-то из этого на выбор, а иногда и почти все сразу.

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

Но потом корона и увольнение. Какое-то время я занимался чем получится пока не пришел в тех.спецы.

Если кому интересно, дайте знать. Я уже более детально расскажу о том, как я пришел в техспецовую сферу (спойлер — от начала до конца считал всё это скамом)
🔥16👍6👏5
И снова о блокировках.

Сегодня обнаружил, что AnyDesk рвет соединение с завидной регулярностью. Стабильно раз в 15 секунд.

Прогуглил ошибку. Оказалось, попытка вмешательства в SSL-соединение.

Выводы сделал 🌚
😨2😱1🙈1
Обычно я стараюсь публиковать какие-то интересные истории либо вовсе фигню проходную 🥲 ибо черт его знает, что еще постить 🤪

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

В объемы Telegram-поста я тоже не вложился 🤯 по этому выкатил здесь👇🏻
https://telegra.ph/Kak-tochno-delat-ne-nado-11-04
👍75🔥21
Media is too big
VIEW IN TELEGRAM
Я впервые в жизни увидел рекламу amoCRM 😁

Просто без комментариев 😄✌🏻

С любителями AmoCRM вроде разобрались, а вот с профессионалам что делать не объяснили 🤠

Рекламу случайно нашел на всем известном видеохостинге (уже хрен разберешь, что можно упоминать, а что нет 🫣 Ах да, мой пост рекламой не является 👽)

UPD: Кажись ребятам с авиасейлс стоит напрячься 😆
🤣8😁5🗿2
Сбор тех.данных о воронке

Этот пост продолжение моего первого блина который закономерно пошел комом.

В кратце суть: ключевые сообщения воронки летят через API и иногда не долетают. Хорошо бы понять кому, когда и почему не долетели. Попутно ребятам в принципе хотелось видеть как обстоят дела с доходимостью. Желательно достигнуть поставленной цели с минимальным уроном для менталочки как на этапе разработки так и в процессе эксплуатации.

После провала идеи с Grafana я пошел своим путем. Переписал полностью бэкенд на NodeJS, доработал попутно под новые цели. Фронтенд (интерфейс) я повадился делать в нейросетях и этот случай не стал исключением. На выходе получился ReactApp. Я настроил бэкенд на выдачу React-приложения, связал интерфейс с нужными узлами API. Слегка поправил калькуляторы в SaleBot и добавил не много нового кода в калькуляторы, что бы отслеживать просмотры по нажатию на кнопку. С этим было не сложно: callback-кнопки. Ловим callback, отвечаем напрямую через API. У клиента показывается уведомление в боте. Второй запрос закидывает данные на сервер. Нормально.

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

В итоге получилось симпатично. Видно сколько запусков воронки, сколько оплат.

Сколько каких уроков отправлено и сколько нажато кнопку «просмотрено».

Все это благополучно хранится в базе.

Отдается на фронт. С безопасностью тоже заморочился. Просто так ничего приложение не покажет. В общем тоже меня устроило.

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

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

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

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

Мораль сей басни простая: далеко не всегда использование готовых решений приведет к нужному результату и сэкономит время. Бывает, что и собственные решения пишутся быстрее и работают точечно под конкретные цели.
1🔥9👍6🤩4
И вот такое блядство как оказалось иногда происходит 🤦‍♂️

Друзья и коллеги, у кого есть сервера под управлением, обязательно перепроверьте ваши сервера и все ли работает.

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

На хостинг практически не захожу так как сервера на год+ оплачены.

В итоге случайно увидел тикет когда обратил внимание, что сервис мониторинга упал и что IP в лк не совпали с IP прописанном в коннектах ssh.

Жопа у меня сгорела однако. У нас куча автоматизаций, мониторинг и системы оплаты через свои сервера идут. И вот тебе подарочек. Что занятно, на официальных каналах хостер об этом не писал. Только тикеты и письма на почте для клиентов кого проблема затрагивала.

Просто жесть. Но мы уже в сети. А вы будьте внимательны.
🤯7😱4👍3🗿1
С Наступающим Новым Годом 🎄

Что ж друзья, ещё один год близится к своему логическому завершению.

Хотелось мне конечно во всех красках и оттенках расписать всё, что я думаю по этому поводу 😁

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

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

И конечно же хорошенько отдохнуть, что бы для кого это не значило 🥂

Мне остается только пожелать всем нам ключевых и самых важных вещей.

Пылкой любви. Крепкого здоровья. Времени рядом с близкими дорогими для нас людьми. И конечно профессионального роста и как следствие роста финансового. Новых открытий и крутых решений.

И то, что я наверное написал многим, что стало буквально тостом для меня в эту новогоднюю ночь: что бы горели глаза, а не задница 😁

Все ж мы понимаем как это связано с нашей непростой работой, кто бы где не был задействован)

Такие вот дела друзья)
До встречи в Новом Году
🥂🎄
🔥12❤‍🔥8🎄61
Соорудил себе имбу 🔥

Теперь Reels и Shorts сразу «летят в Telegram».

Настроил команду, она смотрит, что есть в ссылке с меню «Действия» в iPhone. В зависимости от содержания, ссылка отправляется на нужный роут.

На сервер ловлю ссылку, скачиваю, конвертирую в формат перевариваемый телеграмом и просто высылаю в диалог с собой в боте. Каждое видео сопровождается ссылкой на источник.

Теперь могу сидеть в сетях и скидывать друзьям видосы прямо с тг и им не надо идти на известные 3 буквы, что бы зайти в запрещенные соц.сети.

Да и у меня теперь будет свой, почти локальный архивчик. С телеги уже можно спокойно скачать в галерею. Сохранить на комп и т.д

Веселая штука. Месяц не доходили руки, а скрутил все за вечер буквально.

Кривовато, не на продажу и не коммерческий бот конечно. Но для дома, так сказать в хозяйстве, вполне себе пригодится 😁
🔥115👍4