| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | from . import get_help |
| |
|
| | __doc__ = get_help("help_chatbot") |
| |
|
| |
|
| | from pyUltroid.fns.tools import get_chatbot_reply |
| |
|
| | from . import LOGS, eod, get_string, inline_mention, udB, ultroid_cmd |
| |
|
| |
|
| | @ultroid_cmd(pattern="repai") |
| | async def im_lonely_chat_with_me(event): |
| | if event.reply_to: |
| | message = (await event.get_reply_message()).message |
| | else: |
| | try: |
| | message = event.text.split(" ", 1)[1] |
| | except IndexError: |
| | return await eod(event, get_string("tban_1"), time=10) |
| | reply_ = await get_chatbot_reply(message=message) |
| | await event.eor(reply_) |
| |
|
| |
|
| | @ultroid_cmd(pattern="addai") |
| | async def add_chatBot(event): |
| | await chat_bot_fn(event, type_="add") |
| |
|
| |
|
| | @ultroid_cmd(pattern="remai") |
| | async def rem_chatBot(event): |
| | await chat_bot_fn(event, type_="remov") |
| |
|
| |
|
| | @ultroid_cmd(pattern="listai") |
| | async def lister(event): |
| | key = udB.get_key("CHATBOT_USERS") or {} |
| | users = key.get(event.chat_id, []) |
| | if not users: |
| | return await event.eor(get_string("chab_2"), time=5) |
| | msg = "**Total List Of AI Enabled Users In This Chat :**\n\n" |
| | for i in users: |
| | try: |
| | user = await event.client.get_entity(int(i)) |
| | user = inline_mention(user) |
| | except BaseException: |
| | user = f"`{i}`" |
| | msg += f"• {user}\n" |
| | await event.eor(msg, link_preview=False) |
| |
|
| |
|
| | async def chat_bot_fn(event, type_): |
| | if event.reply_to: |
| | user_ = (await event.get_reply_message()).sender |
| | else: |
| | temp = event.text.split(maxsplit=1) |
| | try: |
| | user_ = await event.client.get_entity(await event.client.parse_id(temp[1])) |
| | except BaseException as er: |
| | LOGS.exception(er) |
| | user_ = event.chat if event.is_private else None |
| | if not user_: |
| | return await eod( |
| | event, |
| | get_string("chab_1"), |
| | ) |
| | key = udB.get_key("CHATBOT_USERS") or {} |
| | chat = event.chat_id |
| | user = user_.id |
| | if type_ == "add": |
| | if key.get(chat): |
| | if user not in key[chat]: |
| | key[chat].append(user) |
| | else: |
| | key.update({chat: [user]}) |
| | elif type_ == "remov": |
| | if key.get(chat): |
| | if user in key[chat]: |
| | key[chat].remove(user) |
| | if chat in key and not key[chat]: |
| | del key[chat] |
| | udB.set_key("CHATBOT_USERS", key) |
| | await event.eor(f"**ChatBot:**\n{type_}ed {inline_mention(user_)}") |
| |
|