Диктуйте сообщения и отправляйте их в телеграм с умных колонок с Алисой!
Сделайте использование навыка максимально простым, когда заняты руки или нет телефона рядом попросите Алису «отправь сообщение «, продиктуйте текст и подтвердите отправку.
Рекомендуемый способ использования навыка — создание сценария на каждого получателя с собственной фразой вызова, например: «Отправь сообщение » и выполняемой командой на колонке «Попроси электронного почтальона отправить сообщение «.
Быстрый старт
Сообщения будет доставлять связанный с навыком бот, но для этого он должен знать id (уникальный номер) чата (лички) с получателем сообщения. Выполним несколько простых действий:
- В Telegram-аккаунте получателя добавим бота «Электронный почтальон (бот)», запустим его и узнаем у него нужный chat id.
- Дадим умной колонке команду «Алиса, запусти навык «Электронный почтальон». После запуска навыка:
- просим его отправить сообщение;
- на вопрос «Кому?» называем имя, под которым хотим сохранить получателя;
- диктуем его ранее полученный chat id
- подтверждаем сохранение.
- Создадим сценарий в » квазаре» (приложение Яндекс),
- на фразу «Отправь сообщение » выбираем выполнение команды на колонке,
- пишем «Попроси электронного почтальона отправить сообщение «.
Ниже описано подробнее как это работает и нюансы использования и настройки навыка.
Как получить прямую ссылку на запуск бота Telegram | BotHelp
Для удобства сначала настройте получение сообщений в собственный телеграм. К тому же это пригодится позже для контроля списка сохраненных контактов.
Настраиваем Телеграм
Поскольку бот не может начать общение первым, всем будущим получателям надо самостоятельно найти бота в Telegram и начать с ним диалог.
- Вводим название бота — AliceSendMessageBot — в поиск tg. Должно отобразиться название «Электронный почтальон (бот)»;
- Открываем чат с этим ботом, нажимаем «Старт» («Запустить»).
Бот в сообщении пришлёт наш chat id телеграм, который понадобится для сохранения контакта в навыке на умной колонке.
Если сообщения нужно отправлять в группу, то добавляем бота в эту группу и используем команду /mychatid для получения chat id группы. Обратите внимание: chat id для групп обычно начинается со знака «-«, и при внесении такого контакта в навык нужно подтвердить минуса перед цифрами chat id.
Запускаем бота
Получаем chat id при запуске бота в личке
Получаем chat id по команде /mychatid в группе
Работа со списком контактов
Для удобства отправки контакты сохраняются под удобными именами вместо сложных id. Вы называете имя, а навык сам находит нужную личку или группу.
Добавление нового контакта
Добавление нового получателя в список контактов во время отправки нового сообщения происходит автоматически.
- Запускаем навык «Электронный почтальон» и на вопрос «Что вы хотите сделать?» отвечаем «Отправить сообщение».
- На вопрос «Кому?» — называем имя получателя. Если такого получателя ещё нет — будет предложено его сохранить.
- Если имя получателя не найдено, будет запрошен chat id
- Если проверка на корректное распознавание продиктованных данных прошла — подтверждаем сохранение в списке контактов на колонке.
Проверка списка контактов
Список сохраненных контактов можно отправить в телеграм одному из сохраненных получателей сообщений на умной колонке. Например, себе или членам семьи.
- Запускаем навык «Электронный почтальон».
- Просим «Проверить список контактов»,
- Называем получателя списка и подтверждаем отправку.
- В телеграм получателя придет сообщение от бота с именами и chat id (здесь пригодится и свой ранее добавленный chat id).
Удаление контактов
Вы всегда можете удалить любой контакт из списка или очистить все контакты сразу.
Для удаления одного контакта:
- Попросите «Удалить контакт»,
- Назовите имя контакта, который нужно удалить
- Подтвердите действие.
Чтобы очистить весь список, просто попросите «Удалить все» — и список контактов на умной колонке будет очищен.
Запуск навыка
Для удобства вызова навыка создайте сценарии Умного дома Яндекс:
- Запускаем приложение Яндекс;
- Через меню выбираем пункт «Устройства» -> «Управление устройствами» -> «+» -> «Сценарий»;
- Добавить название сценария (например, «Сообщение «);
- Задать выполнение команды на колонке «Попроси электронного почтальона отправить сообщение «.
Рекомендации по использованию
Имена контактов
Внутри навыка используется справочник имен, что позволяет распознавать разные произношения одного имени, в т.ч. и уменьшительно-ласкательные формы, например, Таня, Танечка и Танюша будет распознано и сохранено одинаково — как Татьяна. Внимание: это работает только внутри навыка, т.е. после его вызова!
Яндекс считает варианты имени разными именами, поэтому при вызове навыка с указанием имени получателя всегда следует использовать полную форму (либо добавлять каждую форму имени, что нецелесообразно).
Пример: если в навыке при сохранении контакта назвать имя получателя сообщений Таня, то в список контактов будет записано имя Татьяна. При следующем обращении внутри навыка можно использовать любую форму имени, например Танечка, Танюша или Таня будет распознано как Татьяна.
Но если вызвать навык с командой «Попроси электронного почтальона отправить сообщение Тане» навык сообщит, что не знает имени Таня и предложит его сохранить.
Возможное решение — это указание своих обращений в вызове сценария, а в команде вызова указывать имя контакта. Можно добавить несколько активационных фраз в сценарий отправки сообщений одному контакту Татьяна по фразам:
- Напиши маме;
- Напиши сестре;
- Отправь сообщение подруге, итд.
и установить команду умной колонке «Попроси электронного почтальона отправить сообщение Татьяне».
Если всё же хотите сохранить контакт не по имени, рекомендую в дальнейшем использовать именно это обращение, избегая уменьшительно-ласкательных форм и других изменений слова.
Получение сообщений из Telegram
Алиса пока не умеет сама начинать диалог, поэтому отправка ответных сообщений боту не имеет смысла, и озвучены на колонке они не будут.
Если нужно озвучить текст на колонке, то можно написать сообщение официальному боту Алисы «Alice»,
Если у вас несколько умных колонок
Сейчас все контакты хранятся в базе данных с привязкой к user id, который зависит от устройства, на котором запущен навык.
Это значит, что на каждой умной колонке, в каждой копии браузера и на каждом смартфоне будет свой собственный список контактов, и их нужно добавлять заново на каждом устройстве. С другой стороны, это даёт свободу (в детской комнате прописать свои контакты, включая родителей, в других — свои).
Как узнать отправителя сообщения
Сейчас авторизация в навыке не предусмотрена, поэтому автоматически подписывать каждое отправленное сообщение возможности нет.
Если вы сообщили свой chat id нескольким владельцам умных колонок, то для того, чтобы узнать от кого именно сообщение, отправителю нужно добавить своё имя в текст сообщения, либо отправить свою «подпись» отдельным сообщением.
Обратная связь
Если у вас остались вопросы по использованию или появились предложения по доработке, добро пожаловать в телеграм-группу «Электронный почтальон (обсуждение)».
Источник: wiki.yaboard.com
Отправка текстовых сообщений и файлов с консоли или скрипта в Telegram
Уже давно хотел написать эту заметку, да все руки не доходят. Ну, короче говоря, раз уж собрался писать то слушайте, вотЪ.
Бывает нужно отправить вывод команды или целые логи кому то в Telegram или просто сохранить их для дальнейших нужд. Тут начинается катавасия, текстовые редакторы, FileZilla/WinSCP (кому что), длительный и мучительный переход по иерархии директорий, перекидывание файлов туда-обратно… с scp тоже будет дольше, ручную отправку дальше desktop никто не отменял… доколе!
И тут, такая тема. Мы создаем своего telegram-бота, дальше отправляем в API Telegram текстовые сообщений или файлы, и автоматом получаем их в виде сообщений от нашего бота. Также можно создать необходимые нам группы/чаты куда мы этого бота можем добавить. Короче говоря, в чем я вижу удобство применения для себя:
- супер-удобная штука для отправки различного рода уведомлений прямо из консоли/скрипта
- удобство передачи логов, по сути, cat напрямую в телегу
3) Дальше, нам нужно узнать параметра нашего ID нашего чата, куда мы будем отправлять сообщения (например, это наш с ним личный чат, или какой-нибудь групповой, куда добавлен наш бот). Открываем браузер и открываем там ссылку: https://api.telegram.org/bot/getUpdates (если у вас заблокирована телега, используйте любые способы обхода блокировки – на данном этапе это не принципиально). Не закрывая вкладку браузера, пишем боту сообщение в телеге. После, обновляем вкладку браузера, и там находим искомый нами параметр. Записываем его.
Итого у нас получается два необходимых параметра :
4) А теперь проверяем отправку сообщения через браузер, подставляя наши параметры в запрос: https://api.telegram.org/bot/sendMessage?chat_id= передача результата в постоянный временный файл):
- отправка выхлопа в виде текста:
ps -a > /home/darkfess/tg-log curl —socks5-basic -x socks5h:// -U -X POST https://api.telegram.org/bot/sendMessage -d chat_id= -d text=»$(tail -n 10 /home/darkfess/tg-log)»
- отправка выхлопа в виде файла:
- cat`им файл целиком (макс размер для отправки файлов ботов 20 мб):
6) Окей. Последним штрихом будет универсальный скрипт для отправки с подстановкой параметров (только подставьте ваши переменные вверху). Создаем его и погнали:
nano $HOME/tg-send.sh
Можете скопировать в текстовом виде: tg-send
Не забудьте также сделать скрипт исполняемым, через:
chmod u+x $HOME/tg-send.sh
Собственно, небольшое readme там уже написано в шапке. Но вот, на всякий случай, несколько примеров использования:
bash tg-send.sh /var/log/syslog
bash tg-send.sh «some text»
Текст отправляем в скобках, к файлам просто указываем полный путь.Там вшито сразу 2-а варианта отправки, в виде текста и файла, поочередно. Поэтому, иногда скрипт может на что-то ругаться на выхлопе (на отсутствие файла, например). Это можно игнорировать, главное чтобы вам приходили ваши логи и уведомления.
Ну вот собственно и все. Вариантов применения данной штуки очень много, все зависит только от вашей больной фантазии. По крайней мере, как минимум, можно избавиться наконец то от назойливых и тормознутых почтовых уведомлений. GL!
=== UPD (26.06.2020) ===
Дополню данную заметку. В связи с разблокировкой телеги в РФ, прикладываю обновленный скрипт (отправка запросов напрямую, без участия прокси-сервера):
nano $HOME/tg-send-noproxy.sh
Можете скопировать в текстовом виде: tg-send-noproxy
Источник: darkfess.ru
Телеграм бот на PHP отправляющий сообщения с сайта
Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто.
Так же стояла задача отправлять сообщения не только владельцу сайта, но и дублировать их в группу сотрудников компании.
Было решено создать телеграм бота, который будет принимать данные с помощью API и отправлять их пользователям.
Шаг 1. Создание телеграм бота
Для создания нового бота отправляем следующую команду /newbot. После чего бот запросит имя вашего нового бота, оно обязательно должно заканчиваться на Bot. В случае успеха в ответ получаем уникальный токен бота, который понадобится для дальнейшей работы. И не забудьте добавить вновь созданного бота в ваши контакты отправив ему команду /start
Шаг 2. Получить токен и chat id бота
Чтобы отправить сообщение пользователю через бота достаточно вызвать определенный URL из PHP скрипта содержащий токен бота и внутренний ID чата chat id.
Токен бота у нас уже есть, а chat id можно получить 2 способами:
Шаг 3. Разработка PHP скрипта для отправки сообщений в Telegram
Чтобы бот отправил сообщение, нужно сделать запрос к определенному URL содержащему токен бота, ваш chat id и значение text — текст, который бот выведет пользователю.
Поиск строительных материалов и комплектующих https://aveprice.ru. Ведение статистики, мониторинг, сравнение и история цен на стройматериалы. В одном месте собраны поставщики, заводы-производители, ритейлеры и различные распространители строительных материалов и комплектующих.
Проверить работоспособность можно и напрямую через адресную строку браузера. Пример строки:
https://api.telegram.org/bot/sendMessage?chat_id= // ваш внутренний ID define(‘TELEGRAM_CHATID’, ‘123456789’); $message = ‘Сообщение’; $ch = curl_init(‘https://api.telegram.org/bot’.TELEGRAM_TOKEN.’/sendMessage?chat_id=’.TELEGRAM_CHATID.’ // URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Не возвращать ответ curl_exec($ch); // Делаем запрос curl_close($ch); // Завершаем сеанс cURL
Как видите все довольно просто. В переменной $message можно передавать любой текст, который будет отправляться ботом пользователю.
Прокси для телеграм бота
В связи с блокировкой телеграм возможно сообщения не будут отправляться, так как скрипт не сможет запросить нужный URL. Для этого можно воспользоваться прокси сервером.
Нужен ремонт телефонов краснодар? Качественный, проверенный и надежный сервис оказывает услуги по ремонту телефонов любой сложности за короткий срок.
Прокси сервера можно найти на сайтах-списках прокси или купить. Чтобы соединиться через прокси-сервер в параметрах вызова cURL добавляем несколько строк
curl_setopt ($ch, CURLOPT_PROXY, «127.0.03.1:8080»); curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
Где 127.0.03.1:8080 — это адрес и порт прокси-сервера и CURLPROXY_SOCKS5 — это тип соединения, в данном случае SOCKS5
Добавить бота в группу телеграм
Чтобы бот мог отправлять сообщения в группу, необходимо его туда добавить. Сделать это можно в настройках группы в разделе Добавить участника. В поиске необходимо ввести имя вашего бота и нажать OK.
Теперь в настройках скрипта нужно изменить chat id пользователя, на chat id нужной группы. Для этого предварительно нужно написать любое сообщение в чат, а затем в адресной строке ввести https://api.telegram.org/bot/getUpdates где — это ранее полученный токен вашего бота. После находим объект chat и в нем id — это и будет chat id группы.
Заключение
Как видите отправлять сообщения в телеграм не так уж и сложно. А пример PHP скрипта приведенный здесь, можно модернизировать под любые нужны.
А если немного изучить документацию, по аналогии можно создавать аналогичных ботов для приема заявок с сайта в Viber или например ВКонтакте.
Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Источник: it-blog.ru