Категория: Разработка

Отправка форматированного сообщения в чат Telegram через PowerShell

В этой статье я покажу как легко отправить форматированное сообщение в чат через бота Telegram при помощи PowerShell. Подразумевается, что бот у вас уже есть и его реквизиты вам известны — как и ID чата, куда нужно отправить сообщение. Первым делом нужно создать сам текстовый файл с сообщением, я использую кодировку UTF-8 с BOM. Назовём файл message.txt, для наглядности можно поместить в него текст с тегами MarkdownV2:

Это просто текст

*жирный*
_курсив_
__подчеркивание__
~зачёркивание~
[Ссылка на Google](https://www.google.com)

ЧИТАТЬ ДАЛЕЕ


Хак турбобуста на Jingyue X99-8D3/2.5G Server

Уже продолжительное время в основе моей рабочей станции лежит китайская двухпроцессорная материнская плата — Jginyue X99-8D3/2.5G Server. Сравнительно редкий зверь, если сравнивать, например, с Huananzhi X99-T8D, но у неё есть свои плюсы: сильная подсистема питания (8 фаз на каждый CPU), большое количество PCI-E слотов, два 2.5Gbit/s сетевых адаптера на Intel I225-V. Единственный момент который меня напряг — это процедура модификации BIOS для анлока турбобуста, именно на этой плате у меня никак не получалось собрать работоспособный BIOS после удаления микрокода 06F2 — ни с DXE, ни с EFI драйвером. Судя по обсуждениям этой платы (вернее, её собрата с DDR4) на форумах — другие энтузиасты тоже столкнулись с этой проблемой. На решение я наткнулся почти что случайно — все нужные модификации корректно заработали на RC-версии BIOS.

ЧИТАТЬ ДАЛЕЕ


Исправляем бифуркацию PCI-E на X79 v2.82H

Среди китайских материнских плат для сокета 2011 мне нравится одна из моделей, на её текстолите обычно присутствует маркировка X79_v2.81 или X79_v2.82 (после наименования модели могут стоять буквы), а производителем может быть заявлен Machinist, Kllisre, Alzenit или какой-нибудь другой. Несмотря на такой зоопарк наименований речь, как правило, идет об одной конкретной материнской плате, никаких различий кроме маркировок нет. Впрочем, одно значимое различие всё же имеет место быть, пусть оно и не зависит от «производителя» — иногда на плате могут отсутствовать USB 3.0 порты. Зато стоит плата совсем недорого, имеет компактный mATX форм-фактор, построена на базе чипсета C602, ОЗУ работает в четырехканальном режиме и… еще есть полностью сломанный режим бифуркации PCI-E x16.

ЧИТАТЬ ДАЛЕЕ


Imagick для PHP 8.2.3 под Windows

В декабре прошлого, 2022-го года, вышла очередная версия PHP за номером 8.2. Спустя некоторое время народ начал потихоньку обновляться, правда, оказалось, что после обновления перестал загружаться модуль Imagick, а в логах поселилась ошибка:

PHP Warning: PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20210902
PHP compiled with module API=20220829
These options need to match
in Unknown on line 0

Эта же ошибка встречалась и при использовании популярных пакетов типа WAMP, XAMP и т.д., причем исправлять её никто не спешил. Проблема очевидна — нужно собирать Imagick для актуальной версии PHP. Ниже я привожу ссылки на билд Imagick 7.1.0-62 для PHP 8.2.3, Thread Safe и Non Thread Safe. Традиционно — для платформы MS Windows:
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, NTS)
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, TS)
Собрано в VC16, нужны соответствующие распространяемые наборы библиотек.


Уводим в сон китайские материнки X79-X99

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

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


Утилита для создания симлинков

Удивительно, но в штатной поставке MS Windows отсутствуют удобные (читай — графические) инструменты для создания символических ссылок и точек соединения NTFS. Гипотетическому пользователю, которому захотелось бы провернуть нечто подобное, пришлось бы оперировать командной строкой — не худший из возможных вариантов, однако, когда количество операций превышает пару-тройку десятков, то поневоле задумываешься о более удобном способе.

На коленке была написана утилита которая позволяет создавать симлинки и точки соединения NTFS буквально в несколько кликов мыши. Скачать её можно здесь, для установки нужно распаковать архив и запустить файл Install.bat (который только и сделает, что положит исполняемый файл по пути %ProgramFiles(x86)%\MakeSymLink\MakeSymLink.exe, да добавит пару пунктов в контекстное меню). Важно! Необходимы права локального администратора.

ЧИТАТЬ ДАЛЕЕ


BAT-файл: разные действия в зависимости от времени запуска

Недавно столкнулся с небольшим кейсом по автоматизации, если не вдаваясь в детали, то заказчик хочет чтобы один и тот же сценарный файл (BAT) выполнял разные действия в зависимости от того, в какой временной промежуток он запущен. Предположим, что временные интервалы у нас 21:00-9:00 (условно ночь) и 9:00-21:00 (условно день). Как известно, в bat-файлах оператора OR нет, но вместо этого можно сделать конструкцию из двух IF таким образом, что по результатам условий (которые просто можно перечислить построчно) мы присвоим булево значение некоему флагу, а потом, в зависимости от значения флага, перейдем через GOTO на разные секции и выполним разные действия.

ЧИТАТЬ ДАЛЕЕ