From 4c29d7bcfcf0ab461d00f264a9dee02da47b3ab6 Mon Sep 17 00:00:00 2001 From: gilcu3 <828241+gilcu3@users.noreply.github.com> Date: Thu, 9 Nov 2023 17:19:09 +0100 Subject: [PATCH] respect keyword in group, vision --- bot/telegram_bot.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/bot/telegram_bot.py b/bot/telegram_bot.py index 8c83038..e787af8 100644 --- a/bot/telegram_bot.py +++ b/bot/telegram_bot.py @@ -390,13 +390,22 @@ class ChatGPTTelegramBot: if not self.config['enable_vision'] or not await self.check_allowed_and_within_budget(update, context): return - if is_group_chat(update) and self.config['ignore_group_vision']: - logging.info(f'Vision coming from group chat, ignoring...') - return - chat_id = update.effective_chat.id - image = update.message.effective_attachment[-1] prompt = update.message.caption + + if is_group_chat(update): + if self.config['ignore_group_vision']: + logging.info(f'Vision coming from group chat, ignoring...') + return + else: + trigger_keyword = self.config['group_trigger_keyword'] + if (prompt is None and trigger_keyword != '') or \ + (prompt is not None and not prompt.lower().startswith(trigger_keyword.lower())): + logging.info(f'Vision coming from group chat with wrong keyword, ignoring...') + return + + image = update.message.effective_attachment[-1] + temp_file = tempfile.NamedTemporaryFile() async def _execute():