def chatbot(update: Update, context: CallbackContext): global api_client msg = update.effective_message chat = update.effective_chat chat_id = update.effective_chat.id is_chat = sql.is_chat(chat_id) bot = context.bot if not is_chat: return if msg.text and not msg.document: if not check_message(context, msg): return sesh, exp = sql.get_ses(chat_id) query = msg.text try: if int(exp) < time(): ses = api_client.create_session() ses_id = str(ses.id) expires = str(ses.expires) sql.set_ses(chat_id, ses_id, expires) sesh, exp = sql.get_ses(chat_id) except ValueError: pass try: bot.send_chat_action(chat_id, action='typing') rep = api_client.think_thought(sesh, query) sleep(0.3) msg.reply_text(rep, timeout=60) except CFError as e: bot.send_message(OWNER_ID, f"Chatbot error: {e} occurred in {chat_id}!")
def remove_chat(update: Update, context: CallbackContext): msg = update.effective_message chat = update.effective_chat user = update.effective_user is_chat = sql.is_chat(chat.id) if not is_chat: chat.send_message("AI isn't enabled here in the first place!") return "" else: sql.rem_chat(chat.id) chat.send_message("AI disabled successfully!") message = (f"<b>{html.escape(chat.title)}:</b>\n" f"#AI_DISABLED\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)}\n") return message
def add_chat(update: Update, context: CallbackContext): global api_client chat = update.effective_chat msg = update.effective_message user = update.effective_user is_chat = sql.is_chat(chat.id) if not is_chat: ses = api_client.create_session() ses_id = str(ses.id) expires = str(ses.expires) sql.set_ses(chat.id, ses_id, expires) chat.send_message("AI successfully enabled for this chat!") message = (f"<b>{html.escape(chat.title)}:</b>\n" f"#AI_ENABLED\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)}\n") return message else: msg.reply_text("AI is already enabled for this chat!") return ""