from src.pushbullet import Pushbullet from src.telegram import Telegram from src.email import Email from src.sms import SMS from src.synology_chat import SynologyChat from src.naver_line import NaverLine import logging logging.basicConfig(level=logging.INFO) class MessageController: def __init__(self, method, **credentials): self.method = method.lower() self.credentials = credentials self.message_service = self.create_service() def create_service(self): if self.method == 'pushbullet': return Pushbullet(self.credentials['access_token']) elif self.method == 'telegram': return Telegram(self.credentials['api_key']) elif self.method == 'email': return Email(self.credentials['user'], self.credentials['password']) elif self.method == 'sms': return SMS(self.credentials['api_key']) elif self.method == 'synology_chat': return SynologyChat(self.credentials['url'], self.credentials['token']) elif self.method == 'naver_line': return NaverLine(self.credentials['access_token']) else: raise ValueError("지원하지 않는 메시지 전송 방식입니다.") def send_message(self, title, body): print(f"{self.method.title()}를 통해 메시지를 보내는 중...") self.message_service.send_message(title, body) def test_message(self): self.send_message("테스트 타이틀", "테스트 본문입니다.")