diff --git a/robot.py b/robot.py index 330559d..3b3ca6c 100644 --- a/robot.py +++ b/robot.py @@ -126,7 +126,7 @@ class Robot(Job): q = re.sub(r"@.*?[\u2005|\s]", "", msg.content).replace(" ", "") if q == "今日百度新闻": self.newsBaiduReport() - elif q in ["nbc","cnn","abc","fox","bbc"] : + elif q in ["nbc", "cnn", "abc", "fox", "bbc"]: self.newsEnReport(q) else: rsp = self.chat.get_answer(q, (msg.roomid if msg.from_group() else msg.sender)) @@ -163,7 +163,7 @@ class Robot(Job): # 聊天记录入库动作: try: now_time = str(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) - archive_message(msg.roomid,now_time,msg.sender,msg.content,msg.type,msg.extra) + archive_message(msg.roomid, now_time, msg.sender, msg.content, msg.type, msg.extra) except Exception as e: self.LOG.error(f"archive_message error: {e}") @@ -192,11 +192,11 @@ class Robot(Job): if msg.content == "^更新$": self.config.reload() self.LOG.info("已更新") - if msg.content == "今日36氪新闻" : - self.newsReport() - if msg.content =='聊天排行榜': + if msg.content == "今日百度新闻": + self.newsBaiduReport() + if msg.content == '聊天排行榜': self.generateAndSendRanking() - if msg.content =='聊天数据入库': + if msg.content == '聊天数据入库': self.messageCountToDB() else: self.toChitchat(msg) # 闲聊 @@ -287,50 +287,49 @@ class Robot(Job): self.allContacts[msg.sender] = nickName[0] self.sendTextMsg(f"Hi {nickName[0]},我自动通过了你的好友请求。", msg.sender) - def newsReport(self) -> None: - receivers = self.config.NEWS - if not receivers: - return - - news = News().get_36kr_news() - for r in receivers: - self.sendTextMsg(news, r) - def newsBaiduReport(self) -> None: - receivers = self.config.NEWS - if not receivers: - return - news = News().get_baidu_news() - news = (f"请根据新闻标题,按照新闻的类型(财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐)进行分类;内容前加入当前日期和星期几" \ - "内容格式如下:" \ - "### 分类1" \ - "1.#标题1" \ - "2.#标题2" \ - "分类之间使用--号进行分割,无内容则忽略该分组" )+ news + try: + receivers = self.config.NEWS + if not receivers: + return + news = News().get_baidu_news() + news = ( + f"请根据新闻标题,按照新闻的类型(财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐)进行分类;内容前加入当前日期和星期几" \ + "内容格式如下:" \ + "### 分类1" \ + "1.#标题1" \ + "2.#标题2" \ + "分类之间使用--号进行分割,无内容则忽略该分组") + news - rsp = self.chat.get_answer(news) - for r in receivers: - self.sendTextMsg(rsp, r) + rsp = self.chat.get_answer(news) + for r in receivers: + self.sendTextMsg(rsp, r) + except Exception as e: + self.LOG.error(f"newsBaiduReport error:{e}") - def newsEnReport(self,website) -> None: - receivers = self.config.NEWS - if not receivers: - return + def newsEnReport(self, website) -> None: + try: + receivers = self.config.NEWS + if not receivers: + return - news = News().get_eng_news(website) - for r in receivers: - self.sendTextMsg(news, r) + news = News().get_eng_news(website) + for r in receivers: + self.sendTextMsg(news, r) + except Exception as e: + self.LOG.error(f"newsEnReport error:{e}") def sendEpicFreeGames(self): - receivers = self.config.NEWS - if not receivers: - return - if is_friday(): - games= get_free() - for r in receivers: - self.sendTextMsg(games, r) - - + try: + receivers = self.config.NEWS + if not receivers: + return + if is_friday(): + games = get_free() + for r in receivers: + self.sendTextMsg(games, r) + except Exception as e: + self.LOG.error(f"sendEpicFreeGames error:{e}") def messageCountToDB(self): try: @@ -347,4 +346,3 @@ class Robot(Job): self.sendTextMsg(generate_and_send_ranking(r, self.allContacts), r) except Exception as e: self.LOG.error(f"SendRanking error:{e}") -