aboutsummaryrefslogtreecommitdiff
path: root/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'helpers.py')
-rw-r--r--helpers.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/helpers.py b/helpers.py
new file mode 100644
index 0000000..f4ea3cd
--- /dev/null
+++ b/helpers.py
@@ -0,0 +1,59 @@
+import time
+
+from aiogram.methods import AnswerGuestQuery
+from aiogram.types import InlineQueryResultArticle, InputTextMessageContent, Message
+from aiogram.enums import ChatType
+
+from supergenerator import *
+
+
+def is_blocked(user_id):
+ current_time = time.time()
+ if user_id:
+ if user_id in last_command_time:
+ time_diff = current_time - last_command_time[user_id]
+ if time_diff < 3:
+ alo = "🚫 *файл не вошёл.* хватит так быстро слать свои сообщения.\n" \
+ f"подожди {round(3 - time_diff, 3)} секунд, брат😡😡"
+ return alo, True
+ return "", False
+
+
+def is_replied_bot(message, is_channel, user_text, config=None):
+ if message.chat.type in [ChatType.GROUP, ChatType.SUPERGROUP, ChatType.CHANNEL]:
+ if not is_channel:
+ is_reply_to_bot = (
+ message.reply_to_message
+ and message.reply_to_message.from_user
+ and message.reply_to_message.from_user.is_bot
+ and message.reply_to_message.from_user.username == BOT_USERNAME
+ )
+ if config:
+ if config.get("call") == "da":
+ mentions_bot = any(
+ user_text.lower().startswith(call.lower()) for call in BOT_CALLS
+ )
+ else:
+ mentions_bot = False
+ else:
+ mentions_bot = any(
+ user_text.lower().startswith(call.lower()) for call in BOT_CALLS
+ )
+ if not (is_reply_to_bot or mentions_bot):
+ return False
+ return True
+
+async def g_answer(data, message, text, title="da", id="1", parse_mode="Markdown"):
+ return await data["bot"](
+ AnswerGuestQuery(
+ guest_query_id=message.guest_query_id,
+ result=InlineQueryResultArticle(
+ id=id,
+ title=title,
+ input_message_content=InputTextMessageContent(
+ message_text=text,
+ parse_mode=parse_mode,
+ ),
+ ),
+ )
+ )