Marshal's channel
888 subscribers
288 photos
46 videos
8 files
327 links
About me: @ilya_marshal
Download Telegram
Гулять так гулять. Самая необходимая кнопка по версии журнала мнению руммейтов - скачать текущую страницу. Решил раскомментировать кусок кода (дээ, она была готова)
Яндух выкатили новый умный плейлист. Стимулировало переписать меню на динамическую генерацию. Добавлен плейлист "Моя перемотка '19"

И еще одна замечательная новость. Теперь бот доступен не только пользователям с подпиской!
Ну сё, бот теперь в состоянии юзабельности. Можно реально годно и удобно им пользоваться. В целом всё что я делаю в яндух музыке - есть в боте. Ну даа, радио еще чутка не хватает.

Есть короч идейка, сделать новогодний розыгрыш. Пожалуй, займусь этим
В общем кул стори такая: сидел себе тихо, деволопил бота, никуда и никому ссылку не скидывал (локальные челы не в счет). Учитывая прекрасный домен, который мне любезно освободил чел, который его держал (крупно повезло вообще, что у бота контакты овнера были). Как только прикрутил БД и просто получение плейлиста дня, то заметил, что спустя некоторое время у бота появилось ~100 юзеров. Офигел конечно, но сослал все на классный домен (так и есть).

А теперь ближе к делу. Так у меня имеется на данный момент 268 юзеров. Сейчас я сделал рассылку с кучей обнов за последние две недели и как раз посмотрел кто заблокал бота, а кто нет (ну и конечно же эту полезную инфу сохранил).

В общем 101 юзер заблокал. Удивительно видеть такую цифру. Не знал, что так много юзеров умеет стопать ботов 😂

Из 167 юзеров, что не заблокали, только 35 прошло авторизацию в свой аккаунт.

А из этих 35 еще непонятно сколько активно пользуется... Только-только подрубил аналитику.

Однако, после рассылки движ есть, люди начали проходить авторизацию и возвращаться ибо заходили они на совсем сырое детище

Да и это, бот теперь саппортит акки без подписки, а это большая часть аудитории 🌚
Отправлено 167 сообщений. Заблокано 101
Marshal's channel
А ещё оооочень бы хотелось дойти до 1к за 2019 год, но поздно спохватился, вряд ли выйдет. А если выйдет, то я назову 2019 год самым удачным и даже постараюсь не грустить на НГ
912, кста (классно фармить на issue и ПРах), а ещё куча всего предстоит, да и время до НГ позволяет.

По поводу розыгрыша: постараюсь всё сделать и объявить до 20 числа 23:59 по МСК 🌚
Пары очень продуктивные, написал всё сейчас. В общем воть и конкурс. Тип анонс, дааа. Советую всем принять участие, вы только посмотрите какой у вас шанс выигрыша! Вас же так мало, только те, кто нужен - тут

Ботик для регистрации: @MarshalXBot (давно хотел его оживить, зарегал еще в далеком 2016 году, даж аватарка старая)

И да, кому интересно, код этого бота тута: https://github.com/MarshalX/MarshalXBot

Форданите кто-нить, пожаалуйста 🙈
Шота ор
Forwarded from oleg_log (Oleg Kovalov)
а как ваш день? (да, удалили шапочку из левого-нижнего угла)
Жоско конечно. Эти боты уже что только не делают. И уязвимости чекают в пакетах, шлют алерты о безопасности, и ПРы кидают для обновления версий пакетов. И вот токены нашли, правда ток они нашли в файле .env.example, но для такого кейса есть кнопка о ложном срабатывании
Forwarded from Журнал «Код»
YouTube снял сериал об искусственном интеллекте

Тони Старк оставил команду Мстителей ради передачи об умных машинах.

На YouTube вышел сериал The Age of A.I. Сидя в кожаном кресле, гений, миллионер, плейбой, филантроп и просто хороший актер Роберт Дауни-младший рассказывает, как технологии меняют наш мир. Эпизоды доступны бесплатно с рекламными вставками или без них по подписке YouTube Premium.

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

Первая серия — https://youtu.be/UwsrzCVZAb8.
Решил посадить бота на пару норм фич. Ночь потратил на доклады с всяких конов про PyPy, теперь имею хоть какое-то представление шо да как и почему быстрее.

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

Следующим делом я пошел смотреть в сторону PyPy на Heroku и понял, что офф. билдпак от них для питона саппортит максимум pypy3-5.8.0, а при попытке юзать его через runtime.txt говорил, что нельзя юзать в билдпаке heroku-18, хотя судя по их репе всё ок, рантайм там такой есть.

В любом случае сейчас PyPy уже 7.2

В начале я просто нашел и апнул issue с его обновлением, а потом вспомнил, что тут же можно dockerfil'ы юзать! В общем так и завел (на скрине всё есть). Так же на скрине есть кек, хорошо, что репа приватная.

И последним шагом я на проде перелез с пуллинга на вебхук.

Итог: бот быстрее не стал
Обидно, когда ты запарился, сделал отдельный целый сайт для авторизации, чтобы пользователи не передавали свои пароли в открытом виде через сообщения боту, делаешь всё безопасно, сертификаты там всякие и бла-бла, а к тебе нет доверия. И приходится объяснять почему все так классно и куда я всрал время.

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

https://music-yandex-bot.ru/
@music_yandex_bot
В дополнение к сообщению выше могу предположить, что дело не только в доверии. Есть еще несколько путей:

1. Случайный пользователь.
2. Очередное зеркало для t.me заблокали в рашке.
3. Непонимание дальнейших действий после ввода данных и нажатии кнопки "войти" на сайте.

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

2 - я был бы рад использовать t.me, но увы, в рашке не везде оно работает ибо телега там "заблокана". Поэтому я юзаю зеркало teleg.run. А работает ли оно там у всех или нет я не знаю...

3 - после успешного входа перебрасывает как раз на teleg.run и если приложение телеграма не открывается сразу, то необходимо нажать "открыть в Telegram". Вполне вероятно, что люди просто закрывают/сворачивают сайт и возвращаются к боту. Но нет! Вся магия как раз в переходе в бота с САЙТА! Только так бот узнает о том, куда же вы авторизовались.

И собсна всё, наверное. Я не знаю больше причин.

Выходит, если я хочу повысить количество нормальных (с авторизацией) пользователей, то мне нужно собрать фидбек по работе зеркала в рашке (проблема 2) и объяснить пользователям, что на кнопку "открыть в Telegram" нужно обязательно нажать (проблема 3). А вот что делать с 1 проблемой и как это вообще происходит непонятно...
144 258 минут, КАРЛ! Посмотреть свою цифру тута

100 (сто) СУТОК!

Постов нет, но я не дегродирую, всё намана.

На выходных порефакторил бота, теперь можно продолжить над ним работать.

PyPy кста выжирает всю память на 30 воркерах моих по перезаливке треков в ТГ. Короче минус PyPy для ботика, я не хочу разбираться.

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

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

Ах да, еще короч в тайп хинты полез. Юзаю в либе. Встретил пару интересных моментов, поделюсь с Вами в отдельном посте как-нить.

И это, конкурс на годовую подписку яндуха всё ещё продолжается! (https://t.me/MarshalC/254)
Срочно, пока не легли! Отключите! От я бы орал утром
Marshal's channel
144 258 минут, КАРЛ! Посмотреть свою цифру тута 100 (сто) СУТОК! Постов нет, но я не дегродирую, всё намана. На выходных порефакторил бота, теперь можно продолжить над ним работать. PyPy кста выжирает всю память на 30 воркерах моих по перезаливке треков…
"должно быть имбово "

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

Бот на стероидах

P.S. Перед записью прогрел кэш)0)

Самые глазастые увидели баг в навигации

UPD. На проде медленнее чем локально 😕