async def add_chat(_client, message): global api_client chat_id = message.chat.id 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) await message.reply("AI successfully enabled for this chat!") else: await message.reply("AI is already enabled for this chat!")
async def chat_bot(client, message): global api_ chat_id = message.chat.id is_chat = sql.is_chat(chat_id) if not is_chat: return if message.text and not message.document: if not await check_message(client, message): return sesh, exp = sql.get_ses(chat_id) query = message.text try: if int(exp) < time(): ses = api_.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: await client.send_chat_action(chat_id, action="typing") rep = api_.think_thought(sesh, query) reply_text = re.sub(r"[rl]", "w", rep) reply_text = re.sub(r"[rl]", "w", rep) reply_text = re.sub(r"[RL]", "W", reply_text) reply_text = re.sub(r"[RL]", "W", reply_text) reply_text = re.sub(r"n([aeiouaeiou])", r"ny\1", reply_text) reply_text = re.sub(r"r([aeiouaeiou])", r"w\1", reply_text) reply_text = re.sub(r"n([aeiou])", r"ny\1", reply_text) reply_text = re.sub(r"N([aeiouAEIOU])", r"Ny\1", reply_text) reply_text = re.sub(r"N([aeiouAEIOU])", r"Ny\1", reply_text) reply_text = re.sub( r"\!+", " " + random.choice(meme_strings.faces), reply_text ) reply_text = re.sub( r"!+", " " + random.choice(meme_strings.faces), reply_text ) reply_text = reply_text.replace("ove", "uv") reply_text = reply_text.replace("ove", "uv") reply_text = reply_text.replace(".", ",,.") reply_text += " " + random.choice(meme_strings.faces) await asyncio.sleep(0.3) await message.reply_text(reply_text.lower(), quote=True) except CFError as e: await client.send_message( Owner, f"Chatbot error: {e} occurred in {chat_id}!" )