RSS
Поиск
06.09.2024


03.09.2024


song.link
03.09.2024


Автор за последние две недели успел навести порядок в трудовой деятельности, сходить в отпуск, попутешествовать, познакомиться с новыми людьми, выпустить небольшой багфикс, исправляющий минорные расхождения с задуманным поведением, начал писать новые варианты распределения ежедневных победных сантиметров, но так и не нашёл времени, чтобы хоть что-то написать на канал, хотя количество подписчиков уже пересекло за сотню. Всех приветствую, спасибо за подписку и рад вас видеть здесь! Скоро контента и активности будет побольше, надеюсь, раз уж лето закончилось, а осенью самое время сидеть за компьютером и грустить творить. В том числе всё ещё надеюсь начать писать не только про IT 🤞🏼 В честь начала нового учебного года поздравляю всех причастных и желаю успехов усвоении новых знаний, ведь ученье — это свет, а неученье — чуть свет и на работу! Ну а в честь сегодняшней даты держите промокод 3SEP для @DickGrowerBot.
04.08.2024


Не прошло и 10 лет, как часть статистики, которую каждый владелец бота собирал по-своему, начал предоставлять сам Telegram централизованно, причём публично для всех. Правда на самом деле аккаунтов в базе около 8,3 тысяч, но да ладно. Надеюсь, в дальнейшем они предоставят наконец-то сервис по просмотру количества сообщений, команд, запросов к боту, чатов и тому подобного, чтобы не приходилось постоянно переизобретать велосипеды. Тем временем, за две недели совершается уже больше 17 тысяч сражений и чуть меньше 23 тысяч приростов. Растём потихоньку! Новостей каких-то пока нет: работа и лето выжимают все соки — успел за выходные только закончить переезд со старого чикагского сервера, перенести всю работу по пересылке писем с доменных почт на Cloudflare; понять, что во время начала переезда я поломал половину адресов и, если бы даже мне кто-то туда писал, письма всё равно бы не доходили 😅
31.07.2024


https://habr.com/ru/articles/832678/ TLDR: YouTube в России замедляют, используя метод анализа незашифрованного SNI в TLS-соединениях, что позволяет определить и ограничить трафик. Ограничение можно обойти с помощью манипуляции SNI или использования специальных программ, таких как GoodbyeDPI и zapret, которые изменяют структуру пакетов, чтобы избежать блокировки.
22.07.2024


Упс! Чёт я не дотестировал и выпустил эту штуку вообще нерабочей. Поправил — теперь должно работать. А ещё я почему-то совсем забыл рассказать про позапрошлый релиз 1.2.3, который хоть и не принёс кучу новых фич, но поправил целый ворох старых проблем: 1️⃣ Появилась защита от одновременного принятия сражений несколькими игроками (да, раньше никаких локов не ставилось и кнопка становилась неактивной только после обновления сообщения и её физического удаления, что, разумеется, происходит далеко не сразу из-за множества сетевых задержек, и возможность потерять две ставки вместо одной ожидаемой была очень даже практической, а не теоретической). 2️⃣ В нескольких местах, в основном в сражениях и в импорте, не был сделан эскейпинг имён пользователей, что приводило к ошибкам у изобретательных и творческих людей, ставящих туда различные спецсимволы, особенно угловые скобки. Сейчас (вернее ещё с 29 июня) всё должно быть в порядке. 3️⃣ Была исправлена очередная ошибка, возникающая из-за переполнения при указании слишком большой ставки в inline-режиме. На этот раз без читерства, а с честной ошибкой в логах и отсутствием ответа на нажатие кнопки для пользователя. 4️⃣ Вроде сделал текстовки для займов чуть более понятными и менее вводящими в заблуждение.
12.07.2024


Статистика сражений! В @DickGrowerBot v1.3.2 По многочисленным просьбам реализовал сбор аккумулированной статистики по результатам битв. Релиз v1.3.0 был раскатан ещё 2 июля, с этой даты и начался подсчёт (все старые битвы, к сожалению, пролетели мимо). Сегодня, 12 июля, думаю, статистики уже набралось достаточно, так что можно включать отображение. И в честь данного обновления дарю промокод RVER130 на 13 см, который как раз теперь можно активировать быстрым способом: ввести через режим встроенных (inline) запросов и нажать на появившуюся кнопку. Либо можно сделать это по старинке через чат с ботом, но теперь необязательно писать команду и промокод в одной строке: можно вызвать команду с помощью автодополнения, а потом уже ввести промокод отдельным сообщением. Из минорных обновлений, которые уже многие могли заметить ранее: 1️⃣ имя игрока, вызвавшего команду /top, теперь подчёркнуто линией, чтобы проще и быстрее было визуально найти себя в списке; 2️⃣ по просьбе Telegram добавлена команда /privacy, где подробно расписано, какие данные хранятся в базе данных бота. Выражаю благодарность @titov_one за идеи для половины функций этого релиза!
08.07.2024


@SadFavBot v1.2.5 Ещё более мелкое улучшение, но, надеюсь, что для многих так станет гораздо удобнее добавлять новые закладки. Теперь, если не удалось найти ни одной закладки по указанному в поиске алиасу, бот предложит кнопку, чтобы перейти к нему в личку, и автоматически запустит команду сохранения, сразу же заполнив алиас! Останется только накидать объектов для сохранения. При пустом запросе реализация теперь тоже не такая топорная: вместо тупого редиректа тоже будет сразу вызвана команда сохранения и предложено ввести алиас. Ну а ещё, дабы соблюсти просьбу администрации Telegram, я добавил команду /privacy, где расписал про все данные, которые хранятся в базе данных бота.
26.06.2024


Небольшое обновление @SadFavBot v1.2.4: ➖ починил отправку видеокружков (просто забыл маппинг для них 😅 Спасибо подписчику, что сообщил об ошибке!); ➖ добавил кнопку для перехода в чат с ботом из инлайн-режима, когда запрос пуст (может поможет привлечь новых пользователей, которые тапают по названию бота в заголовке сообщения, но не понимают, что с ним делать дальше).
15.05.2024


Кстати, когда разбирал файлы с сервера, нашёл старый скрипт для пинга и хелсчека других серверов. Не знаю, куда его девать, так что поделюсь здесь: #!/bin/sh # Configuration [email protected] ERR_MAX=5 SLEEP_TIME=300 # Check if we don't know the hostname if [ -z "$1" ]; then echo "Pass a hostname as an argument!" exit fi # Main loop ERR_COUNTER=0 while true; do echo echo "Ping attempt: $(date)" if ! ping -qc1 "$1"; then report_message="The remote host $1 is down!" echo $report_message ERR_COUNTER=$((ERR_COUNTER + 1)) if [ $ERR_COUNTER -gt $ERR_MAX ]; then echo "$report_message" | sendmail "$ADMIN_EMAIL" ERR_COUNTER=0 fi fi sleep $SLEEP_TIME done
12.05.2024


Наконец-то смигрировал блог на другой сервер, без проблем с оплатой. В принципе, это оказалось не так сложно: 1️⃣ берём дамп сайта, базы данных и конфиг apache2; 2️⃣ разносим статичные ресурсы с кодом и загружаемые через админку файлы и изображения по разным папкам; 3️⃣ пишем Dockerfile: берём за основу php:7-apache и копируем в наш образ код, стили и конфиг (/etc/nginx/sites-available); 4️⃣ копируем в отдельную папку на сервере загруженные файлы, не забыв предоставить права на чтение и запись для www-data; 5️⃣ пишем docker-compose.yaml файл, где запускаем наше приложение, примонтировав туда директории с заранее скопированными файлами; 6️⃣ добавляем mysql:5, примонтировав в /docker-entrypoint-initdb.d/ файл с нашим дампом БД; 7️⃣ docker compose up -d; 8️⃣ при необходимости настроить фронтальный прокси-сервер; 9️⃣ PROFIT!
05.05.2024


@SadFavBot v1.2.3 — майский набор исправлений Большей частью в этом релизе лишь исправляется пара тонких, но важных косяков: 1️⃣ Раньше попытка добавить текстовую закладку с кастомным эмодзи ломала все закладки под этим алиасом; теперь же добавление подобных закладок запрещено валидатором, поскольку на данный момент боты всё равно не могут использовать кастомные эмодзи, так что сохранять такое бессмысленно. 2️⃣ Было сломано удаление старых закладок с ссылками, номерами или емейлами. Добавил костыль, чтобы починить. Хотя есть и небольшие улучшения: 1️⃣ алиасы в клавиатуре с предложенными вариантами теперь отсортированы по алфавиту (очевидная фича, про которую я почему-то забыл); 2️⃣ также добавлена забытая клавиатура для команды /rmlink. Кстати, обратите внимание, что в группах команды приходится вызывать полным именем: /save@SadFavBot, например. Это особенность реализации режима приватности в групповых чатах Telegram, о чём теперь сказано в справочном сообщении. Впрочем, данное ограничение можно обойти, если назначить бота администратором.
03.05.2024


Патч установлен. Система включена обратно. Всем, кто ждал, спасибо за ожидание, и приношу извинения за доставленные неудобства!
02.05.2024


🤖 Калькулятор теперь доступен в любом чате Telegram благодаря @calc — бот поддерживает конвертацию валют, просмотр курсов и не только. 🐬 Конвертация @calc 720 баксов в рубли 💰 Узнать курс @calc BTC RUB 📶 Калькулятор @calc 15000*0.25+2% Всё это часть обновления Crypto Bot, которому вчера исполнилось 3 года. За это время бот стал самым быстрым и удобным способом для покупки, хранения и отправки криптовалюты внутри Telegram. @DeCenter
02.05.2024


Блин, можно выпиливать калькулятор из @textUtilsBot. Команда Тг сама его реализовала лучше и практически нативно: с коротким именем бота и без плашки, что сообщение отправлено через inline-режим. Очередной обесценившийся труд коту под хвост…
01.05.2024


Так-с, система кредитования пока временно отключена. Мне сообщили об очень неприятном и глупом баге, который я пропустил: обновление длины не увеличивает счётчик дополнительных ежедневных приращений, что, во-первых, не позволяет взять кредит, если сегодня чик-чирык был уже увеличен, а, во-вторых, препятствует росту, если кредит был взят сначала. Да и перк списаний, выходит, работает тоже неправильно. Фича тоглы выручают в который раз 🙏🏼 Надеюсь, до конца недели смогу выкатить фикс, а то закончившиеся праздничные выходные как-то сейчас очень не кстати. А вообще сделать ограничение на триггере в СУБД было и правда очень плохой идеей. Зря я не слушал, когда мне говорили… Впрочем, про факапы можно ещё много чего рассказать. Пожалуй, стоит как-нибудь посвятить этому отдельный вечерок
30.04.2024


Да, я ещё в конце прошлого года обещал подумать и реализовать помощь для тех, кто попал в минусовую зону, активно принимая участие в жестоких сражениях на "мечах", но реализация задачи несколько затянулась в виду объёма (пришлось переделать всю систему инкрементов, чтобы создать задел на будущие доработки), нехватки времени ░░░. И вот наконец-то все три обещания воплощены в жизнь: 1️⃣ чем больший у игрока минус — тем больше помощи он получает при каждом приросте (сейчас параметр равен 0,1% от размера "задолженности", так что фича работает от -1000 см и глубже); 2️⃣ можно погасить минус в кредит с помощью команды /loan, что становится актуальнее при небольшой задолженности (от -999 и меньше): долг будет медленно погашаться по указанной процентной ставке как от ежедневных приростов, так и от побед в сражениях; 3️⃣ и да, участвовать в боях теперь окончательно можно только на имеющиеся сантиметры, без ухода в минус. Надеюсь, это как-то может исправить возникшую ситуацию. Я смотрел 24 апреля: было 550 писюнов с длиной меньше ноля, из которых 45 — глубже тысячи, а рекордсмены уходят за десятки и даже за сто тысяч. Сейчас таких стало уже 517 и 44 соответственно. Будем наблюдать. Также стоит отметить ещё одно важное изменение: я включил для бота режим приватности и теперь он не имеет доступа ко всем сообщениям в чате, что, разумеется, хорошо для большего доверия пользователей и снижения нагрузки для меня и Тг. Оказалось, что для работоспособности команды /import бота можно просто сделать временно администратором чата, что не должно быть проблемой, учитывая, что вызывать команду и так могут только админы. Я особо не проверял, правда, но в теории всё должно работать. Если это не так — смело пишите, будем разбираться :) Что касается статистики: количество вызовов команды /grow за 2,5 месяца с прошлой картинки выросло в 2,76 раза, а количество сражений — в 1,36 раза, что, конечно, очень недурно, но и не вау. Полагаю, нужно пилить новые фичи и устраивать какие-либо ивенты для привлечения более широкой аудитории, но я пока не уверен, что у меня теперь будет хватать на это времени. У меня есть некоторые мысли, что можно было бы ещё сделать, учитывая открытые просьбы в Гитхабе, но я пока их не сформулировал в какую-то последовательную стратегию и чёткие требования. Надо всё-таки ещё баги для @SadFavBot фиксить, и озаботиться спасением блога до наступления очередной даты оплаты хостинга. На всё не хватает сил и рук. Вот если бы подписчики добавили топлива в печку мотивации…
30.04.2024


Всем привет! Давно меня не было, но ещё успеваю зарелизить апрельское обновление для @DickGrowerBot под номером 1.2! На самом деле первая минорная версия была выпущена ещё на прошлой неделе, как многие могли заметить, но только сегодня я задеплоил патч, затыкающий все допущенные дырки в логике и обновляющий справочное сообщение, которое видят все новые игроки. (подробнее в следующем посте)
31.03.2024


На что только ни пойдёшь ради денег: даже на работу. © народная мудрость Автор не умер, автор активно искал работу: 6 недель почти ежедневных собеседований по 1-2 штуки, не считая созвонов с рекрутёрами и кучи переписок. Наконец-то эта активность подходит к концу: определились фавориты, проясняются вопросы по поводу оформления и статусы подвисших переговоров — так что скоро я смогу выплатить все кредиты, спокойно выдохнуть и снова начать жить полной жизнью. Ну и сюда что-то писать появятся силы, надеюсь, а то ежедневные "экзамены" сильно выматывали морально. Впрочем, о трудностях и перипетиях поиска работы в IT в РФ 2024 года расскажу немного позже в отдельном посте, когда всё окончательно устаканится и будет решено, а сегодня, вслед за товарищем @arisudesu, хочу поздравить всех с Международным днём резервного копирования и напомнить о необходимости периодической проверки работоспособности скриптов, которые их снимают. Благо сейчас есть куча разных решений: как и моя бэкапилка дампов Постгреса в S3-хранилище, так и скрипты на основе restic'а.
01.03.2024


song.link