2

 

 

 

 

 

 

 

 

К сожалению, доступный в репозитарии kffmpegthumbnailer  устанавливается, но не работает в новой 16.04 Kubuntu.
И пока нет готового пакета, то для предпросмотра можно установить его из git,
читать дальше

но для этого предварительно нужно установить  следующие пакеты:
sudo apt install git build-essential cmake extra-cmake-modules kio-dev pkg-config libavformat-dev libavcodec-dev libswscale-dev

Затем клонируем и устанавливаем:

git clone git://anongit.kde.org/ffmpegthumbs
cd ffmpegthumbs
git checkout origin/frameworks
mkdir -p builddir
cd builddir && cmake .. -DCMAKE_INSTALL_PREFIX=$(kf5-config —prefix) -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
sudo make install

Идем в настройки Dolphin и включаем ставшее доступным меню:
1

 

 

 

 

 

 

Собственно, создаются два файла и копируются в соответствующие директории:
— Installing: /usr/lib/x86_64-linux-gnu/qt5/plugins/ffmpegthumbs.so
— Installing: /usr/share/kservices5/ffmpegthumbs.desktop

С помощью checkinstall создал ffmpegthumbnailer.deb пакет для 64 разрядной системы. Естественно, еще должен быть установлен kubuntu-restricted-extras.

 

Возможность создавать ботов и наличие вэб-интерфейса в Telegram дает возможность очень просто реализовать отправку сообщений из Ubuntu (и конечно любого основанного на линукс дистрибутива) например с помощью команды curl. В заметке будет описано создание бота, чата, группы для рассылки и примеры использования простых скриптов: для определения и передачи внешнего ip адреса из локальной сети, а так-же оповещения отсутствия ответа на ping какого-либо хоста.
Создание бота:

Нужно найти в строке поиска клиентского приложения Telegram «прародителя» ботов @BotFather и начать с ним чат.

@BotFather

читать дальше

Он расскажет о себе и выведет список доступных команд:

telegram2

Просто кликнем на /newbot и дальше следуем предложенному Ботом диалогу:
Valery, [10.12.15 22:19] /newbot
BotFather, [10.12.15 22:19] Alright, a new bot. How are we going to call it? Please choose a name for your bot.
Valery, [10.12.15 22:23] My home bot
BotFather, [10.12.15 22:23] Good. Now let’s choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
Valery, [10.12.15 22:23] Kononvaler_bot
BotFather, [10.12.15 22:23] Done! Congratulations on your new bot. You will find it at telegram.me/Kononvaler_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.
Use this token to access the HTTP API:
123456789:ABBC*********************b
For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Бот теперь у нас есть,  очень важно знать токен бота 123456789:ABBC*********************b и конечно никому его не показывать.

Теперь нужно создать с ним общий чат.
Создаем любую удобную группу, например Test (название потом можно изменить) и добавляем туда нашего бота.

telegram4

 

Нажимаем на квадратик в строке поиска

и откроется диалог добавления группы.

 

 

 

 

 

После создания группы добавляем участником бота,

его не будет в списке контактов, но находим его через

поиск по имени.

 

 

 

Теперь нужно выяснить id чата, куда будем посылать сообщения.

Для этого можно зайти в Telegram через вэб-интерфейс, зайти в созданную группу Test

telegram7

 

и в строке адреса браузера увидим нужный нам id.

 

Попробовал, уже не получилось. Другой способ:

Создаем ссылку вида https://api.telegram.org/bot<<токен бота>>/getUpdates?offset=0 и переходим по ней

откроется страница с несколькими строками служебной инфо, для нас в данном случае бесполезной. Идем через приложение в искомый чат и посылаем какое-нибудь сообщение, например «Get id», затем обновляем страницу в браузере и видим там новое сообщение с искомым идентификатором:

"channel_post":{"message_id":2199,"chat":{"id":-1234567890,"title":"My ip","type":"channel"},"date":1489116818,"text":"Get id"}}]}

Если вдруг появилась в сообщении ошибка 409 — не может использовать данный запрос пока активен вэбхук error_code»:409,»description»:»Conflict: can’t use getUpdates method while webhook is active» (а я его не включал вроде ???)
то чтобы его отключить отправляем вот такой пустой запрос (после setWebhook должно быть значение, в данном случае его нет) https://api.telegram.org/bot<<токен бота>>/setWebhook

Создаем команду отправки сообщения от бота в группу вида:

curl -X POST "https://api.telegram.org/bot<<токен бота>>/sendMessage" -d "chat_id=-1234567890&text= TEst test "

отправляем из терминала и:

telegram8

 

 

 

 

Работает.

Создаем скрипт определения внешнего  ip :
nano my_ip.sh

#!/bin/bash

#путь к файлу с сохраненным адресом
IPFILE=/home/valery/my_script/address.ip

if [ -f «${IPFILE}» ]; then
# если файл существует, то читаем значение из старого файла
source «${IPFILE}»
fi
NEWIPADDR=$(curl -s kaktotak.org/ip.php |grep -Po ‘\d.*(?=\s)’)
if [[ (-z ${IPADDR+x}) || («${IPADDR}» != «${NEWIPADDR}»)]];
then
# отправляем в канал, для новой строки в тексте можно использовать %0A, либо явно использовать новую cтроку
CURL_RESULT=$(curl -X POST «https://api.telegram.org/bot12345678:ABC*******************b/sendMessage» -d «chat_id=-1234567890&text=
Адреса дома: %0A Transmission http://${NEWIPADDR}:9091
Сайт http://${NEWIPADDR}
Plex http://${NEWIPADDR}:32400/web/index.html»)
fi

Добавляем в cron проверять каждые 10 минут
crontab -e
*/10 * * * * /home/valery/my_script/my_ip.sh

Использование для оповещения из командной строки:

Добавляем следующие строки в .bash.rc

alias teleok=’curl -X POST «https://api.telegram.org/bot12345678:ABC*******************b/sendMessage» -d «chat_id=-1234567890&text= Готово! «‘
telesend() { curl -X POST «https://api.telegram.org/bot12345678:ABC*******************b/sendMessage» -d «chat_id=-1234567890&text=$@» ;}

теперь можно добавить оповещение к окончанию  какой-либо длительной задачи, например

cp dir1 dir2 && teleok   здесь после завершения копирования в группу придет сообщение Готово! 

если использовать функцию telesend то можно отправить любое произвольное сообщение:

telesend  ‘ Текст сообщения’