SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Пример приёма сообщений из Skype и пересылка в Rocket.Chat


Метки: python skype 

Ответы

RemiZOffAlex  Создано: 2018-03-31 09:54:36.013812  Обновлено: 2018-03-31 09:54:36.013812

Для Rocket.Chat нужно создать входящий webhook для приёма сообщений

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-

__author__ = 'RemiZOffAlex'
__copyright__ = '(c) RemiZOffAlex'
__license__ = 'MIT'
__email__ = 'remizoffalex@mail.ru'
__url__ = 'http://remizoffalex.ru'

import ssl
import json
import http.client

from skpy import SkypeEventLoop, SkypeNewMessageEvent

class MySkype(SkypeEventLoop):
    def onEvent(self, event):
        if isinstance(event, SkypeNewMessageEvent) and not event.msg.userId == self.userId:
            # Для отладки
            # print(repr(event))
            conn = http.client.HTTPSConnection(
                "IPorDomainRocketChat",
                443,
                context=ssl._create_unverified_context()
            )
            headers = {"Content-type": "application/json"}
            params = {"username":"skype:user","text":event.msg.content}
            conn.request(
                "POST",
                "/hooks/WEBHOOK",
                json.dumps(params),
                headers
            )
            r1 = conn.getresponse()
            print(r1.status, r1.reason)

sk = MySkype('SKYPEUSER', 'PASSWORD')
sk.loop()

P.S.: Почему не надо писать ботов для Skype / Хабрахабр https://habrahabr.ru/post/317178/

Возможно будут интересны и другие вопросы