Отправка сообщений в Skype через Microsoft Bot Framework API

17.05.19

Интеграция - Мессенджеры и боты

Как отправлять сообщения в скайп по rest api.
 
 Код

Пример использования:

Токен = ПолучитьТокенSkype("cffbb6ea-1f54-4d57-9d5b-2f04cedd228a", "jisp8}^{tyuTHHKTJ5547"); // айди и пароль бота
IDЧата = "29:2b9b13504f134aebad59a25a7bdc1f98@thread.skype"; // айди комнаты
ТекстСообщения = "Привет, мир!";
ОтправитьСообщениеSkype(Токен, IDЧата, ТекстСообщения);

Как получить ID и пароль бота?

1.    Заходим на страницу https://dev.botframework.com/bots/new, предварительно залогинившись под учеткой microsoft
2.    Заполняем поля: Display name, Bot handle, Long description, включаем Enable adding to a group.
3.    Нажимаем «Create Microsoft APP ID and password» - копируем идентификатор  приложения (ID приложения). Нажимаем «Создать для приложения» - копируем отображенный пароль (токен)  – нажимаем «завершить и вернуться» - Registred
4.    Сохраняем данные в блокнотик
5.    Добавляем бота к себе в контакты, перейдя по ссылке вида https://join.skype.com/bot/cffbb6ea-1f54-4d57-9d5b-1f04cedd228a (кнопка Get bot embed codes)

Как получить ID беседы (группы, контакта)?

1. Идем на Webhook Tester и получаем ссылку вида 
https://webhook.site/cfd9261e-a3d8-410f-8547-da9628390339
2. Вставляем эту ссылку в Messaging endpoint на странице настроек чат-бота, сохраняем
3. Пишем в скайпе из группы (айди которой хотим получить) сообщение боту вида "@botname test", где botname - имя созданного бота
4. Получаем в вебхук-тестере пост-запрос с джисоном, нужый нам айди находится в поле conversation.id

Может можно и проще - напишите.

Итог

Вбиваем данные и видим, что сообщение отправляется

зы: хотите бота на 1С - пишем http-сервис, ngrok и bot framework emulator в помощь ;)

 

upd: скайп нужен самый новый, для отладки пользуйте postman

skype rest api

См. также

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    9763    60    13    

36

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38463    109    163    

203

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 11250 руб.

18.06.2021    65827    312    272    

369

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    30409    35    49    

71

Мессенджеры и боты Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Данное расширение представляет собой интерфейс взаимодействия 1С с сервисом Wazzup. Данный сервис позволяет вести беседу с использованием номера телефона, привязанного к Whatsapp. Почитать о сервисе и его условиях использования можно по ссылке https://wazzup24.com/. На данный момент расширение поддерживает почти все доступные через API функции. Обновление от 19.05.2023, версия 2.1!

14400 руб.

30.11.2020    13696    8    13    

15

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    16034    16    10    

41
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kuzyara 2094 13.12.18 12:10 Сейчас в теме +0.16 $m
ixijixi; user1619761; vashkostya; user774630; leonidy4; Leits; sertak; paulpit; Romeooo; zuxelzz; METAL; jaroslav.h; AlX0id; pavlov_dv; leobrn; DrAku1a; 🅵🅾️🆇; triviumfan; st4rk; CSiER; lunjio; litonchik; +22 Ответить
16. zuxelzz 01.02.19 11:51 Сейчас в теме
(1) Привет, пробую сейчас настроить бота, в списке ботов у моего постоянно висит предупреждение:
"Bots requiring migration to Azure Bot Service must migrate now to avoid service interruption"
Надо ли делать миграцию или без этого будет работать?
По самой работе - токен получаю, пытаюсь отправить сообщение, но получаю ответ:
{
"error": {
"code": "BadArgument",
"message": "Unauthenticated"
}
}

может кто сталкивался с этим - в чем дело может быть?
17. kuzyara 2094 04.02.19 12:14 Сейчас в теме
(16) Такое предупреждение у всех - это ненавязчивая реклама ажуры)

А при создании пароля ("секрета приложения") в низу страницы настроек не забыть нажать "Сохранить".
19. zuxelzz 04.02.19 13:43 Сейчас в теме
(17) понял, осталось понять, как добавить бота в нужную группу - подскажешь? =)
2. rpgshnik 3797 13.12.18 14:09 Сейчас в теме
Полезная информация, нужно будет применить на практике.
3. 🅵🅾️🆇 524 13.12.18 19:00 Сейчас в теме
(2) Полезно все, кроме, собственно, самого скайпа)
Он ушел вслед за ICQ.
Lapitskiy; anvolkov1cbit; GreenDragon; Vanch90; +4 2 Ответить
4. pallid 272 13.12.18 22:19 Сейчас в теме
Отлично, все времени не было начать разбираться с апи, а тут вот уже заготовочка
5. rpgshnik 3797 14.12.18 01:58 Сейчас в теме
(3) да ну, в компании активно используется. Видео звонки только через него.
CyberCerber; +1 Ответить
6. CSiER 36 14.12.18 03:32 Сейчас в теме
(3) для частных лиц возможно, но в корпоративном секторе скайп теперь заменяет Microsoft Lync.
rpgshnik; Артано; +2 Ответить
7. 1c_nik923 14.12.18 06:48 Сейчас в теме
Что-то, я не заметил нормальную замену скайпу, так что говорить что он ушел в след за ICQ, может вы из 3-тысячного. Автору однозначно + за работу!
Vida; rpgshnik; JohnyDeath; CyberCerber; kuzyara; paulpit; +6 Ответить
10. GreenDragon 16.12.18 16:49 Сейчас в теме
Удивительно. Думал, что api скайпа умерло года 3 назад. Однако же...

P.S.
(7) JSON читается как "джейсон". JSON (англ. JavaScript Object Notation, обычно произносится как /ˈdʒeɪsən/ JAY-sən)
А то как вы написали в статье "джисон" должно было бы писаться как - "GSON".
11. GreenDragon 16.12.18 16:53 Сейчас в теме
(7) как софт для проведения видеоконференций - может соглашусь. Но только не как текстовый клиент (а его как таковой используют 90% времени, что ужасно).
8. Fil15 3 14.12.18 23:08 Сейчас в теме
Вот одного не понял: Пишем в скайпе из группы (айди которой хотим получить) сообщение боту вида "@botname test", где botname - имя созданного бота
Это куда? В скайпе из группы пишу, но чет ничего не происходит.... Пояните, мож чего не понял.
9. Fil15 3 14.12.18 23:26 Сейчас в теме
Все, разобрался! Спасибо!
18. zuxelzz 04.02.19 13:38 Сейчас в теме
(9) привет, подскажи, как бота в группу добавил? пытаюсь добавить своего - ни через людей, ни через ботов его не находит
22. VictorRGB2 14 21.05.19 09:48 Сейчас в теме
(9)
(18)
коллеги, подскажите, как добавить бота в группу скайпа?
23. zuxelzz 21.05.19 10:53 Сейчас в теме
(22) тыкай в саму группу - там где видно список пользователей в группе и там где-то должен быть пункт "Добавить бота". Я точно не помню, как добавлял - возможно, его просто как пользователя можно добавить.
24. kuzyara 2094 21.05.19 10:59 Сейчас в теме
25. VictorRGB2 14 21.05.19 11:15 Сейчас в теме
(24) спасибо за видео
все делал, как продемонстрировано, однако бота смог добавить в группу только после дважды перезапущеного скайпа
12. sdf1979 206 19.12.18 09:39 Сейчас в теме
В конфигурации "Центр Контроля Качества" присутствует возможность отправлять сообщения в скайп, используя rest api.Код в общем модуле "СкайпБот".
13. kuzyara 2094 19.12.18 10:29 Сейчас в теме
(12) действительно, есть такое в составе КИП
Прикрепленные файлы:
14. e][tend 19.12.18 14:30 Сейчас в теме
Коллега, разрешите поинтересоваться, что за ссылки у вас скрываются в папке "Убийцы 1С" в браузере? :)
15. пользователь 20.12.18 10:17
Сообщение было скрыто модератором.
...
20. zuxelzz 04.02.19 14:23 Сейчас в теме
все, разобрался, спасибо автору за помощь)
21. Romeooo 78 20.02.19 18:21 Сейчас в теме
"Как получить ID беседы (группы, контакта)?" - может кому пригодится:
просто берем ник пользователя Skype и обрабатываем следующим образом:

Если СтрНайти(Контакт, ":") = 0 Тогда
Контакт = "8:" + Контакт;
ИначеЕсли СтрНачинаетсяС(Контакт, "live:") Тогда
Контакт = "8:" + Контакт;
КонецЕсли;

И переменную Контакт передаем как ИД беседы.

Авторство не мое, нашел в типовых.
yukoz; kuzyara; +2 Ответить
26. Артано 795 21.05.19 11:23 Сейчас в теме
(21) индусы уже в 1с
Merkalov; GreenDragon; papami; +3 Ответить
27. VictorRGB2 14 21.05.19 16:25 Сейчас в теме
а реально ли помощью этого бота отправить файл, например *.xls в чат?
что-то не нашел в документации такой возможности, возможно плохо искал..
28. EliasShy 48 22.05.19 11:25 Сейчас в теме
К знатокам - есть ли возможность подобное реализовать для Lync (Skype для бизнеса) ?
29. Dwiss 162 24.05.19 11:57 Сейчас в теме
Спасибо автору, все работает.
Вопрос как принимать сообщения от бота в 1с
53. yukoz 64 03.08.20 09:37 Сейчас в теме
54. kuzyara 2094 04.08.20 06:10 Сейчас в теме
(53) тогда уж расскажите и как HTTP-сервис опубликовать, чтобы был доступен из интернета. И нужно ли получение ssl-сертификата...
55. пользователь 06.08.20 16:25
Сообщение было скрыто модератором.
...
30. Dwiss 162 04.06.19 08:10 Сейчас в теме
31. Dwiss 162 04.06.19 08:53 Сейчас в теме
{
  "текст": "проверил",
  "type": "message",
  "метка времени": "2019-06-03T07: 59: 09.428Z",
  "id": "1559548749423",
  "channelId": "skype",
  "serviceUrl": "https://smba.trafficmanager.net/apis/",
  "от": {
    "id": "29: 17J...................................................................dY",
    "имя": "Дмитрий Алексеевич"
  },
  "разговор": {
    "id": "29: 17J....................................................................dY"
  },
  "получатель": {
    "id": "28: 2d...............................................270",
    "имя": "virtex_bot"
  },
  "лица": [
    {
      "locale": "ru-RU",
      "страна": "RU",
      «платформа»: «Windows»,
      «часовой пояс»: «Азия / Эр-Рияд»,
      "type": "clientInfo"
    }
  ],
  "channelData": {
    "текст": "проверил"
  },
  "locale": "ru-RU"
}
Показать
32. Dwiss 162 04.06.19 08:59 Сейчас в теме
на вебхуке видно ответ боту, но как его получить в 1С???
34. kuzyara 2094 04.06.19 10:25 Сейчас в теме
(33) свой http-сервис 1с сделать надо
56. Craig 275 28.09.20 13:11 Сейчас в теме
(34) Добрый день, сделал свой https, ssl, опубликовал - входящие сообщения работают, но при условии если в 1с не создан пользователь. Если пользователь создан, тогда post запросы не доходят из-за авторизации. Каким образом можно преодолеть авторизацию?
58. user1455510 30.09.20 13:16 Сейчас в теме
(56) После публикации http-сервисов в каталоге виртуального приложения будет располагаться файл default.vrd, в строке подключения необходимо указать логин и пароль служебного пользователя.
Пример файловой базы:

ib="File="[КаталогВиртуальноПриложения]";Usr=[Пользователь];Pwd=[Пароль];"
Пример клиент-серверной базы:

ib="Srvr="tcp://[ИмяСервера]";Ref="[ИмяПубликации]";Usr=[Пользователь];Pwd=[Пароль];"

https://its.1c.ru/db/metod81/content/6966/hdoc
Прикрепленные файлы:
59. Craig 275 04.10.20 10:59 Сейчас в теме
(58) Спасибо, именно так и сделал. Но теперь когда просто входишь в 1с, система сразу запускается под "скайпом"
60. user1455510 05.10.20 07:54 Сейчас в теме
(59) Почитайте про взаимодействие Apache и сервера 1С, можно создавать default.vrd файлы под разные алиасы
Alias "/notify-manager" "C:/notify-manager/"
<Directory "C:/notify-manager/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/notify-manager/default.vrd"
</Directory>

Alias "/notify-managerWS" "C:/notify-managerWS/"
<Directory "C:/notify-managerWS/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor "C:/notify-managerWS/default.vrd"
</Directory>
Показать
35. Dwiss 162 04.06.19 11:32 Сейчас в теме
т.е. конечная точка должна быть свой http-сервис 1с?
а как в телеге не получится?
//Прочитать сообщение пользователя
Процедура ПрочитатьСообщенияПользователя() Экспорт
    СтруктураНастроек = ПолучитьНастройкиTelegram();
	
	//Установим соединение
	Источник = "bot" + СтруктураНастроек.token + "/getUpdates";
	HTTPСоединение  =  Новый HTTPСоединение(СтруктураНастроек.api,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());	
	HTTPЗапрос = Новый HTTPЗапрос(Источник);
	HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");	
	HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
	
	Если HTTPОтвет.КодСостояния = 200 Тогда
			Данные = ДесериализоватьJSON(HTTPОтвет.ПолучитьТелоКакСтроку());
			Если Данные.ok И Данные.result.Количество()>0 Тогда
				//Запишем историю сообщений
				 
				Для каждого СтрокаМассива Из Данные.result  Цикл
					СообщениеID = СтрокаМассива.update_id;
					Если ПроверитьНаличиеСообщенияПоID(СообщениеID) Тогда
						Продолжить;
					КонецЕсли;
					Если СтрокаМассива.Свойство("message") Тогда
						Команда = ВернутьКомандуTelegram(СтрокаМассива.message.text);
						ЗаписатьИсториюСообщений(СтрокаМассива.message,СообщениеID,Команда);					 
						ОбработатьОтветПользователя(Команда,СтруктураНастроек,СтрокаМассива.message,СообщениеID);
					КонецЕсли; 
				КонецЦикла; 
			КонецЕсли; 		
	КонецЕсли;
КонецПроцедуры
Показать
36. kuzyara 2094 04.06.19 13:17 Сейчас в теме
37. Dwiss 162 04.06.19 13:49 Сейчас в теме
(36) а пример есть сервиса ?
45. Babylka 12.12.19 17:53 Сейчас в теме
(37) Создаете HTTP-сервис, в нем описываете функцию POST. Все, что будет прилетать боту, будет в теле запроса. Далее по стандартной схеме: разбор тела запроса и запись сообщения с базу.
hikeman; kuzyara; +2 Ответить
38. user1034316 24.06.19 15:03 Сейчас в теме
Спасибо Автору за идею и код. Все работает просто отлично.

При генерации ключей учтите, что если в ключе будут "+/", то работать не будет.
Видео немного устарело, сейчас айди приложения и ключи делаются немного по другому, в Microsoft Azure.
39. ivan.kh 24.06.19 17:33 Сейчас в теме
Сделал вроде бы все по инструкции, но при попытке отправить сообщение в чат - получаю ошибку 401AADSTS7000215: Invalid client secret is provided.
Пароль пытался удалить и заново создать, но результат не изменился.
40. пользователь 15.07.19 09:01
Сообщение было скрыто модератором.
...
41. пользователь 16.07.19 10:18
Сообщение было скрыто модератором.
...
42. user981782 24.09.19 13:46 Сейчас в теме
(39) Токен берется с другого адреса я так поняла. webchat.botframework.com с заголовком авторизации
   	
HTTPСоединение = Новый HTTPСоединение("webchat.botframework.com", Неопределено, Неопределено, Неопределено, Неопределено, 120, Новый ЗащищенноеСоединениеOpenSSL);
	
	ЗаголовкиHTTP = Новый Соответствие;
	ЗаголовкиHTTP.Вставить("Authorization", "BotConnector "+Пароль);

	HTTPЗапрос = Новый HTTPЗапрос("/api/tokens", ЗаголовкиHTTP);

	HTTPОтвет = HTTPСоединение.ВызватьHTTPМетод("GET", HTTPЗапрос);

	HTTPОтветТело = HTTPОтвет.ПолучитьТелоКакСтроку();
Показать


Токен получает, но вот при отправке сообщения пишет "Authorization has been denied for this request"
43. portal80 17.10.19 21:12 Сейчас в теме
Да блин! Как добавить BOTa в существующую группу?
44. user1108198 30.11.19 21:30 Сейчас в теме
спасибо за статью! вроде все делаю правильно, но когда вставляю данные в 1Ску, вылетает такое сообщение
http://prntscr.com/q4cpse
46. Babylka 12.12.19 17:59 Сейчас в теме
Спасибо автору за идею.
На этапе тестирования получилось отправить только мультимедиа файлы. На форумах пишут, что бот не поддерживает отправку других видов файлов.
В документации отправка мультимедиа здесь https://docs.microsoft.com/ru-ru/azure/bot-service/dotnet/bot-builder-dotnet-add-media-attachments?view=azure-bot-service-3.0
Никто не сталкивался?
47. Armando 1401 08.05.20 00:51 Сейчас в теме
Кто-нибудь сталкивался с проблемой : зарегистрировал два бота одновременно, для первого webhook.site рабоатет, для второго нет.
Добавлено:
Внезапно заработало.
48. Armando 1401 08.05.20 17:20 Сейчас в теме
+ (47) еще проблема нарисовалась. Вчера бот работал, сегодня отказывается. При отправке сообщения пишет ошибку
400AADSTS9002331: Application xxx is configured for use by Microsoft Account users only. Please use the /consumers endpoint to serve this request.
Что и где надо исправить?
49. Armando 1401 08.05.20 19:22 Сейчас в теме
(48) Разобрался. При регистрации приложения в разделе "Поддерживаемые типы учетных записей" по-умолчанию стоит тип "Только личные учетные записи Майкрософт". Необходимо переключить на "Учетные записи в любом каталоге организации (любой каталог Azure AD — мультитенантный) и персональные учетные записи Майкрософт (например, Skype, Xbox)".
Если приложение уже зарегистрировано, то в карточке приложения необходимо перейти на вкладку Манифест и в редакторе манифеста исправить значение свойства signInAudience с PersonalMicrosoftAccount на AzureADandPersonalMicrosoftAccount. После этих манипуляций у меня заработало.
50. endim 21.05.20 17:02 Сейчас в теме
Можно ли таким образом получить список участников группы?
61. ui69 41 08.12.21 12:33 Сейчас в теме
Кто пользуется рассылкой сообщений через бот скайпа - у вас все работает? У меня с 7.12.2021 проблема с отправкой сообщения через apis.skype.com
Отправляю: v2/conversations/8:<userLogin>/activities
Ошибка: Ошибка работы с Интернет: SSL connect error
До этого все отлично работало
62. kuzyara 2094 09.12.21 11:20 Сейчас в теме
(61) пока работает. У вас похоже на проблему с сертификатами.
63. ui69 41 21.12.21 07:37 Сейчас в теме
(62) можете пояснить, пожалуйста, что можно сделать?
64. MishinVl 6 17.01.22 14:33 Сейчас в теме
у кого-нибудь доступны значки реакций на сообщения бота?
Прикрепленные файлы:
65. пользователь 22.03.22 17:48
Сообщение было скрыто модератором.
...
Оставьте свое сообщение