Полезные ссылки по разработке Телеграм-ботов и Телеграм-приложений (мини-приложений)

Документация по Телеграм-приложениям — core.telegram.org/bots/webapps

Документация по Телеграм-ботам — core.telegram.org/bots/api

Список эмодзи — apps.timwhitlock.info/emoji/tables/unicode

Определение источников трафика по UTM-меткам — graspil.com/ru/post/utm_for_telegram_bot

Большой гайд по UTM-меткам — habr.com/ru/companies/click/articles/478758

Отправка видео через Телеграм-бот — core.telegram.org/bots/api#sendvideo

Функция «Поделиться» в Телеграм-приложении:

Верификация запроса от Телеграм-приложения к серверу:

Обзорные статьи по созданию Телеграм-ботов и Телеграм-приложений:

Шпаргалка по развёртыванию Ларавел

Что нужно сделать (минимально) для развертывания проекта на рабочем сервере? Инструкция ниже применима к серверам без автодеплоя, например, для небольших заказов размещаемых на обычных хостингах клиентов.

(далее…)

Ремонт apt:

apt download python3-minimal
sudo apt install --reinstall ./python3-minimal_*.deb
sudo apt install -f

Заметки об Олламе (ollama)

Что такое Оллама (ollama)? Это инструмент для запуска больших языковых моделей (LLM — Large Language Model). С помощью Олламы можно запускать на своём сервере или домашнем компьютере публичные языковые модели. Языковых моделей много, даже очень много, и можно найти подходящую под свои задачи и доступные вычислительные мощности.

(далее…)

Удаление ollama из Линукса (Linux) и Виндоуз (Windows)

Что такое ollama описывать сейчас не буду, кто в теме, тот в теме, тут нужно полноценное видео или внушительных размеров статью писать. На это, как обычно, времени не хватает. Теперь к делу. После установки ollama в свою систему вы наверняка обрадуетесь её функционалу, также как и я, но заметите одну странность — отсутствие штатной возможности остановить сервис. Да, вы можете остановить сервис в Линуксе как и любой другой вот так:

systemctl stop ollama.service

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

Удаление в Линуксе:

sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo systemctl daemon-reload
 
sudo rm /usr/local/bin/ollama
 
sudo userdel ollama
sudo groupdel ollama

Удаление в Виндоуз как обычно проще, оно осуществляется через стандартные «Программы и компоненты». Команд нет, выбираете из списка ollama и нажимаете «Удалить».

Проверка установленных версий .NET на Windows 10 через PowerShell

Краткий вариант:

Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version
(далее…)

Изменение hostname в WSL2 (Ubuntu) навсегда

Для изменения имени хоста в терминале достаточно войти в WSL с помощью команды wsl и ввести:

sudo hostname MY_NEW_HOST_NAME

Имя хоста изменится, но после перезагрузки WSL система создаст новое имя и присвоит вашей машине. Это происходит при каждом запуске WSL по умолчанию. Для изменения этого поведения необходимо добавить в конфигурацию WSL (/etc/wsl.conf) следующие настройки:

...
hostname = MY_NEW_HOST_NAME
generateHosts = false
...

Также необходимо указать новое наименование хоста в /etc/hosts вместо созданного системой:

...
127.0.0.1 MY_NEW_HOST_NAME MY_NEW_HOST_NAME
...

После этих манипуляций новое наименование хоста останется навсегда. Для проверки этого выключите WSL и включите заново:

wsl --shutdown
wsl

Настройка прав на файлы и директории в Docker-контейнере для Linux-систем

При использовании стека PHP+DOCKER (+ все остальное) на Linux-системах у вас, скорее всего, возникнут проблемы с правами в контейнере. Нельзя будет записать какой-либо файл в директорию, начнут вылетать ошибки при сохранении логов и всё в таком духе. При использовании фреймворков, например, такого как Laravel, эта проблема уже решена его разработчиком, а во всех других случаях решать коллизию с правами нужно своими руками. Ниже приведён один из простых вариантов решения.

(далее…)

Сбор данных о подписчиках группы Вконтакте (VK) через API с помощью execute

В текущем проекте мне понадобилось довольно плотно взаимодействовать с API Вконтакте. Раньше с ним работать не приходилось. Оказалось, он довольно удобный и функциональный, с опрятной документацией и понятными примерами. Через него можно решать огромное количество задач. Простая схема «вопрос-ответ», впрочем, как и для любого другого API, позволяет легко получать статистику, управлять группами, пользователями и т.д.

(далее…)