diff options
Diffstat (limited to 'bot.py')
-rw-r--r-- | bot.py | 44 |
1 files changed, 26 insertions, 18 deletions
@@ -1,4 +1,5 @@ import os +import sqlite3 from urllib import parse import requests from dotenv import load_dotenv @@ -44,13 +45,16 @@ class Bot: conn.close() def _checkUnreadDb(self): - if not self.hasNewMessages: - conn = getDbConn() - cur = conn.cursor() - res = cur.execute(f"SELECT id, is_read FROM incoming WHERE is_read = 0") - if len(res.fetchall()) > 0: - self.hasNewMessages = True - conn.close() + try: + if not self.hasNewMessages: + conn = getDbConn() + cur = conn.cursor() + res = cur.execute(f"SELECT id, is_read FROM incoming WHERE is_read = 0") + if len(res.fetchall()) > 0: + self.hasNewMessages = True + conn.close() + except sqlite3.Error as e: + logger.error(e) def pollUpdate(self): self.isProcessingPolling = True @@ -65,18 +69,22 @@ class Bot: def getNewMessages(self): result = list() - if not self.hasNewMessages: + try: + if not self.hasNewMessages: + return result + conn = getDbConn() + cur = conn.cursor() + resCheck = cur.execute(f"SELECT text FROM incoming WHERE is_read = False") + for row in resCheck.fetchall(): + result.append(row[0]) + cur.execute(f"UPDATE incoming SET is_read = True WHERE is_read = False") + conn.commit() + conn.close() + self.hasNewMessages = False + except sqlite3.Error as e: + logger.error(e) + finally: return result - conn = getDbConn() - cur = conn.cursor() - resCheck = cur.execute(f"SELECT text FROM incoming WHERE is_read = False") - for row in resCheck.fetchall(): - result.append(row[0]) - cur.execute(f"UPDATE incoming SET is_read = True WHERE is_read = False") - conn.commit() - conn.close() - self.hasNewMessages = False - return result if __name__ == '__main__': |