СЛЕГ! Ⓩ
549 subscribers
825 photos
26 videos
12 files
407 links
Здесь создают авторских телеграм-ботов. Когда не справляются конструкторы и веб-студии - есть СЛЕГ.

Статистика ботов:
https://ssleg.tech/bots_view.html

Написать автору: @yesitsnew

TW: ещё тут политота, утечки баз и игры в товарища майора на минималках
Download Telegram
Обещал я вам показать Россию как есть на самом деле.

Зрелище неприятное. Но необходимое.

Экспорт с 2000 по 2021 годы топово держат 4 кода hs4

Нефть сырая.
1. 2709 - Petroleum oils and oils obtained from bituminous minerals; crude

Нефтяные смеси и масла.
2. 2710 - Petroleum oils, oils from bituminous minerals, not crude; preparations n.e.s. containing less than 70% petroleum oils, oils from bituminous minerals; these being the basic constituents of the preparations

Газ.
3. 2711 - Petroleum gases and other gaseous hydrocarbons

Уголь.
4. 2701 - Coal; briquettes, ovoids and similar solid fuels manufactured from coal

В сумме они составляют от 45% в 2000м, до 52% в 2021 всего экспорта России. С пиком в 75% в 2010. Шкала Y - 200 млрд. $

Еще 16 кодов я спрячу в комменты, они вместе тянут еще от 25% в 2000м, до 15% в 2021. Шкала Y второго графика 13 млрд. $

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

Вместе, этот топ 20 составляет 70% всего нашего экспорта. И перекос в сторону сырья даже стал больше за 20 лет, а не меньше.
В очередной раз, в интернете вспомнили о трупе Intel Эльбрус Itanium® (в этот раз, по поводу удаления его кода из ядра Linux).

И попалась мне прекрасная картинка, характерная для индустрии в целом, и не только ИТ.

Прогнозы аналитиков, по поводу продаж будущего продукта, вначале можно смело уменьшать в 40 раз, а ближе к дате выхода продукта на рынок, в 25 раз.

Получится что-то похожее на реальность.

И касается это любого хайпожорства, в том числе нынешнего пузыря "бума" AI технологий :)
👍3🔥3
Оскоромился использованием python venv на продакшене (на 2571 рестарте сервиса одного бота за 3 дня, меня немного утомило на это смотреть).

Выяснилось, что 99% инструкций по теме, копируют пасту, написанную лет 5-6 назад и уже не сильно актуальную.

Восполним этот пробел, я немного почитал доки к современным 🐍 и вот инструкция.

Речь идет в первую очередь о Debian-based системах, включая Ubuntu и питоне версий 3.6 и выше.

Конкретная задача - даунгрейд версии библиотеки telethon для одного бота.

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

Теперь пошагово.

Установка самого venv
apt install python3.10-venv

Создание среды для вашего проекта
cd /home/bots/my_bot
python3 -m venv .venv


Входим в настройки среды
source .venv/bin/activate

Моя задача, поставить одну библиотеку конкретной версии, но можно ставить сколько и чего вам угодно, pip3 уже есть и вызывается через pip
pip install --force-reinstall "telethon==1.31"

Выходим из venv
deactivate

По умолчанию, venv полностью изолирован от установленных в системе библиотек, но вам вряд ли такое нужно (иначе придется ставить вообще все руками).

Редактируем файл . venv/pyvenv.cfg, устанавливаем флаг в true
include-system-site-packages = true

После этого, venv берет вместо системных только те библиотеки, которые были в него установлены, а остальное берет из общесистемных.

Что в разы упрощает развертывание, в моем случае до 1 библиотеки всего :)

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

Просто меняем первую строку стандартной программы, указатель интерпретатора:
#!/usr/bin/env python3

На
#!.venv/bin/python3

И все. Никаких проблем и мучений с башем, среда сама себя инициализирует, запустит и все сделает.

P. S. Синхронизация venv с машины разработчика на продакшен, путь к большим проблемам, если системы не идентичны полностью.

Даже разные линуксы, с одной версией питона, порождают совсем разные среды.
👍4🥴3
Маленький хак.

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

И в нем уже смотреть как отлаживается сервис.

logrotate -f /etc/logrotate.conf
В чате возник запрос на сигнал об окончании работы многочасовых скриптов.

Идея - сделать бота, который будет присылать уведомление в телеграм, владельцу скрипта. Для этого ему надо будет дернуть https запрос в конце и все.
Anonymous Poll
32%
Да, такое надо, буду пользоваться
14%
Нет, нинужон
54%
Мне пофиг, ответы посмотрю
В процессе создания бота уведомлений, выяснилось забавное.

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

Что привело к ложным срабатываниям: клиент только получает ссылку на API, и сразу получает уведомление.

Я сначала удивился, потом посмотрел лог nginx, потом решил проблему.

Решение на скрине :)
😁5👍1🤡1
Представляю вам нового бота:
@this_is_the_end_notification_bot

Это то, что вчера придумали и голосовали.

Теперь любые события, происходящие с вашими программами/скриптами на серверах могут быть доставлены прямо в ваш телеграм или чат в телеграме, в котором эта информация нужна.

Причем, доставка всего за 1 секунду.

Тестируйте и пользуйтесь на здоровье.

P. S. Если закинете этот пост в чаты программистов, буду благодарен.
🔥11
Слег осваивает новые горизонты. :)
🔥22⚡4💩1
К дискуссии в чате.

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

Ибо оно мне нравится.

Лаптеногие!

И это обьясняет очень многое о русских вообще и о существовании до сих пор Украины в частности ;)
😁5👍1🔥1👏1🤡1
Тем временем, прибыль, не выручка https://ssleg.tech перевалила 500 тысяч рублей.

Мелочь, а приятно.
👍10🔥6
Когда я выбирал название канала, я хотел назвать его sleg в честь волнового наркотика Стругацких.

В книге которых мы и живем, хех. Они в 60х увидели вообще все про нас из 2010х.

Но у телеги есть ограничение - имя канала от 5 букв. Я удвоил первую s и забыл.

Недавно узнал, что ssleg это редкая латинская аббревиатура - supra scripti legionis. Вышеописанные легионы.

И теперь у меня нет выбора. Только сражаться до победы. Легионы не сдаются (почти) никогда.
👍13🔥4
Я в циву не играл где-то с третьей.

И тут Яндекс-музыка притаскивает великолепное:

Civilization VI. Россия (атомная эра) на мотив "Калинка моя". А для недогадливых, с середины хор поет слова.

Ору чаечкой.
👍1🔥1🥴1
Как отучить срать в syslog.

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

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

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

UFW (файерволл):
Редактируем файл /etc/rsyslog.d/20-ufw.conf, нужно раскомментировать последнюю строку #& stop

После чего перезапустить службу логирования системы systemctl restart rsyslog
Лог UFW будет жить в отдельном файле /var/log/ufw.log

UWSGI (сервер web приложений flask/django etc):
Приложение должно вести свои логи, если необходимо, а c uwsgi делаем так:
Редактируем app.ini, в секцию
[uwsgi]
добавляем
disable-logging = true

По необходимости, можно использовать еще два флага - логировать только http ответы 400х и 500х серий. Они работают независимо от того, включен общий лог или нет.
log-4xx = true
log-5xx = true


Gitea (это вообще ван лав💋):
По умолчанию, эти красавцы все события выдают в stdout, откуда оно падает в syslog.

Редактируем конфиг: /etc/gitea/app.ini

Вместо стандартной секции
[log]
MODE = console
LEVEL = info
ROOT_PATH = /var/lib/gitea/log


Делаем свой файловый лог:
[log]
MODE = file
LEVEL = info
ROOT_PATH = /var/lib/gitea/log
FILE_NAME = gitea.log
LOG_ROTATE = true
DAILY_ROTATE = true
MAX_DAYS = 14
COMPRESS = true
COMPRESSION_LEVEL = 9


После редактирования не забудьте перезапустить: systemctl restart gitea

Тут пояснения вроде ненужны, ротация лога раз в сутки, хранить 2 недели, архивы сжимать.

В доках Gitea ошибка в последнем параметре "уровень сжатия", они пишут, что он от -1 до -9, от чего gzip удивляется и выпадает в осадок. Правильно писать от 1 (минимум) до 9 (максимум сжатия).

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

А все детали, если они необходимы, можно уточнить в других логах.
👍2🔥1👌1
Они вернули России Империю.
И убили себя.

С чем я рагулей и поздравляю.
👍12👏3🍾2
Один очень скромный админ из @mikrotikclub (поэтому имя его неназываемо), рассказал мне, что видел в bot api параметр, прекращающий лазание телеги по всем доступным ссылкам.

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

Поведение телеграм по умолчанию изменить нельзя.

В telethon код выглядит так:

result = await client.send_message(user_id, message, files, buttons, link_preview=False)
👍5
Немного поорать в пятницу. ↘️
Forwarded from Стихи и книги Дмитрия Мельникова (Dmitry Melnikoff)
Опять патриоты и либералы выясняют, кто из них более прав. Тема бесконечная.
Да это вообще не важно.
Россия идет своим историческим путем, а вы
висите на бортах и днище этого корабля ракушками.
Прав тот, кто воюет, строит, лечит, хлеб печет и так далее.
Вот они правы.
А вы просто балаболы, потому что у вас нет настощего дела в руках и все, что вы можете -
это трындеть в
соцсетях.
Объединитесь уже, помиритесь и сделайте для России что-нибудь полезное.
Руками. Я не говорю головой - ее у вас нет.
Для этого есть масса возможностей.
Приезжайте ко мне, я всем вам найду работу.
А, у вас лапки. Ну тогда спорьте дальше.
Прилепин, ты теперь слабомощный, будешь курам по полведра зерна носить.
Кормить буду хорошо, у меня собака и то каждый день мясо ест.
А то тебе скучно там в больнице, как я вижу.
Можешь Собчак взять с собой. Будет корову доить.
Ну, если корова захочет.
🔥5🥱2
Forwarded from Стихи и книги Дмитрия Мельникова (Dmitry Melnikoff)
И такой Прилепин, прихрамывая, заходит в сарай. Погромыхивая полупустым ведром.
А там сидят два боевых петуха.
У меня были такие, там одни мышцы, тугая резина, дрались, как машины, боли не боялись вообще. Ничего не боялись, у меня два шрама остались от шпор на руках, пока я им головы скручивал.
Я их потом варил часа три, бесполезно, отдали алабаю.
Тот, понятно, схрумкал за здорово живешь. Ему все равно, он и оглоблю съест, если проголодается.
И тут такой впзр - здрасьти, можно я вам зерна насыплю.
Не, лучше в больнице сиди.
👏5🔥1
Чорт, 20 лет прошло, как я реально писал на плюсах.

И все равно, пишу while i<len(array): и сразу пишу i++. Не думая вообще.

Рефлексы, наработанные в юности - сила.
👍3