Python 㧠Skype ã«ãã®ã³ã°ãã
id:moriyoshi ããã "Linuxä¸ã§åãSkypeç¨ã®botãä½ãæ¹æ³" ã¨ããããã°ãæ¸ããã¦ããã®ã§ä¾¿ä¹ãã¾ã。ä¼ç¤¾ã§ Python ãã Skype ã¸ãã°ãåºåããããã®ãã³ãã©ã¼ã試é¨çã«ä½¿ã£ã¦ãã¾ãã。便å©ã§ãã、å©ç¨ã¯ãå§ããã¾ãã。çç±ã¯æå¾ã«æ¸ãã¾ã。
ã³ã¼ãã¯ãããªæãã«ãªãã¾ã。
# -*- coding: utf-8 -*- # skype_handler.py from logging import Handler try: import Skype4Py skype = Skype4Py.Skype() except: skype = None if skype and not skype.Client.IsRunning: # Skype ãèµ·åãã¦ãªãã£ããèµ·åãã skype.Client.Start() class SkypeHandler(Handler): u"""Skype ç¨ãã³ãã© Args: group_name - Skype group name encoding - encoding (Default: 'utf-8') ãã®ä¾ã§ã¯、ããã¯ãã¼ã¯ããã°ã«ã¼ãã«å¯¾ãã¦ãã°ãåºåãã¾ã。 `get_chat` ãå¤ãããå人ã«éä¿¡ã§ããããã¾ã。 """ @staticmethod def get_chat(group_name): u"""æå®ããã°ã«ã¼ãåã®ãã£ãããããã¯ãã¼ã¯ããåå¾""" if skype is None: return None for chat in skype.BookmarkedChats: if chat.FriendlyName == group_name: return chat return None def __init__(self, group_name, encoding='utf-8'): u"""Create SkypeHandler Instanse""" Handler.__init__(self) self.chat = SkypeHandler.get_chat(group_name) self.encoding = encoding def send(self, record): if self.chat is None: return message = self.format(record) if type(message) is not unicode: message = unicode(message, self.encoding) self.chat.SendMessage(message) def emit(self, record): try: self.send(record) except (KeyboardInterrupt, SystemExit): raise except: self.handleError(record)
使ãæ¹ã¯ãããªæã。
# -*- coding: utf-8 -*- # test.py import logging import skype_handler # Skype ãã£ããå (ããã¯ãã¼ã¯ãããã¤) CHAT_NAME = 'Test' # ãã¬ã¼ (`my_logger`) ãä½æ my_logger = logging.getLogger('my_logger') my_logger.setLevel(logging.DEBUG) # Skype ãã³ãã©ã¼ãä½æ handler = skype_handler.SkypeHandler(CHAT_NAME) # ãã¬ã¼ã« Skype ãã³ãã©ã¼ã追å my_logger.addHandler(handler) my_logger.debug(u"ã»ã")
Skype ã«ãã°ãã¯ããã¾ã。æéã¯ãªã¢ã«ã¿ã¤ã ã ã、ããç¨åº¦è² è·ãããã¦ãã¡ããã¨åºåãã¦ãããã、ãµã¼ãæ¯ã« skype ã¦ã¼ã¶å¤ããã¨ãã°ç®¡çãç°¡åã ã、、、。
ã§ãã!使ããªãã»ããããã§ã。æåã¯ããããåãã¦ããã¦ã¦åé¡ãªãã£ãã®ã§ãã、ãã°ãã使ã£ã¦ããã¨åãã¼ãããã£ã±ãã«ãªã£ãã®ã、ãã©ã¸ã«ã¨ãã³ã¼ãã¸ãã¢ã¼ã«ã¨ããããã£ãããéã®ãã±ãããåä¿¡ãå§ãã¡ããã¾ãã orz ã§ã£ãããã¯ã¼ã¯ã«è² è·ãããã "ããã" ã¨ãå±ãã・・・。èªå® ã§ä½¿ã£ã¦ãåã«ã¯ãªãã®åé¡ãã§ã¦ãªãã§ãã、ä¼ç¤¾ã§ãã£ã¡ããã¨ãããã¯ã¼ã¯ç®¡çè ã«æããããã。
æ¯é使ã£ã¦ã¿ã¦ãã ããï½
ã³ã¡ã³ã
ã³ã¡ã³ããæ稿