From 28b750b4e1e3d8b66ec3ded8f159365aff3b8557 Mon Sep 17 00:00:00 2001 From: Georgios Atheridis Date: Wed, 25 May 2022 22:20:12 +0000 Subject: [PATCH] bot sends message when stream starts or ends --- skgyorugo/main.py | 15 ++++++++++++--- skgyorugo/tools/smart_start_stream_time.py | 10 +++++----- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/skgyorugo/main.py b/skgyorugo/main.py index 16942ed..68d8bb5 100644 --- a/skgyorugo/main.py +++ b/skgyorugo/main.py @@ -114,10 +114,19 @@ database_manager.update_auto_messages_in_database(auto_message_modules, auto_mes def start(bot: Bot, message: Message): + i = 0 + wait = 5 while True: - tools.smart_start_stream_time.update_start_stream_timestamp() - analyze_auto_message.do_auto_message(bot, message, auto_message_modules) - time.sleep(30) + i += wait + started = tools.smart_start_stream_time.update_start_stream_timestamp() + if started == "START": + bot.send_privmsg(message.channel, "Stream has started, you can now use ?join") + elif started == "END": + bot.send_privmsg(message.channel, "Stream has ended") + if i >= 30: + analyze_auto_message.do_auto_message(bot, message, auto_message_modules) + i = 0 + time.sleep(wait) def main(bot: Bot, message: Message): diff --git a/skgyorugo/tools/smart_start_stream_time.py b/skgyorugo/tools/smart_start_stream_time.py index 901f35f..6ffa8ff 100644 --- a/skgyorugo/tools/smart_start_stream_time.py +++ b/skgyorugo/tools/smart_start_stream_time.py @@ -70,7 +70,7 @@ def start_stream_timestamp() -> Optional[int]: return None -def update_start_stream_timestamp() -> Optional[int]: +def update_start_stream_timestamp() -> Optional[str]: conn = sqlite3.connect(os.path.join(PATH, "database.db")) c = conn.cursor() @@ -100,7 +100,7 @@ def update_start_stream_timestamp() -> Optional[int]: if time.time() < last_checked + CHECK_STREAMTIME_CD: logger.info(f"returned cached start stream time: {start_stream_ts}") conn.close() - return start_stream_ts + return stream_info = ttv_api.stream.get_streams(user_logins=[streamer_login]) logger.info(f"used twitch api to get stream info") @@ -133,7 +133,7 @@ def update_start_stream_timestamp() -> Optional[int]: conn.close() # TODO add hook, streamer ended stream end_stream() - return + return "END" if not fetched: start_stream_ts = int(stream_info[0].started_at.timestamp()) @@ -154,7 +154,7 @@ def update_start_stream_timestamp() -> Optional[int]: logger.info(f"returned api start stream time: {start_stream_ts}") # TODO add hook, streamer started streaming start_stream() - return start_stream_ts + return "START" start_stream_ts, last_checked = fetched current_time = int(time.time()) @@ -172,4 +172,4 @@ def update_start_stream_timestamp() -> Optional[int]: ) conn.close() logger.info(f"returned cached start stream time: {start_stream_ts}") - return start_stream_ts + return -- 2.30.2