2.2 Мелкие улучшения и аннотации файлы

This commit is contained in:
Verum
2025-03-16 02:49:45 +07:00
parent c448a38918
commit d10e1b4834
17 changed files with 29 additions and 25 deletions

View File

@@ -12,13 +12,15 @@ text_msg = \
f"""Это сообщение с изображением и инлайн кнопками!
""" + "#флуд #ролевая #геншинимпакт #геншин #flood #rp #genshin"
@router.callback_query(lambda c: c.data == 'button_1')
async def process_callback_button(callback_query: types.CallbackQuery):
async def process_callback_button(callback_query: types.CallbackQuery) -> None:
await bot.answer_callback_query(callback_query.id, text="Вы нажали первую кнопку!")
await bot.send_message(callback_query.from_user.id, "Ответ на вашу кнопку.")
@router.inline_query()
async def inline_echo(inline_query: types.InlineQuery):
async def inline_echo(inline_query: types.InlineQuery) -> None:
# Содержимое запроса
query = inline_query.query

View File

@@ -9,7 +9,7 @@ from SQLite3 import status_user
__all__ = ("ban_cmd",)
# Функция блокировки пользователя
async def ban_user(message: types.Message, *args, **kwargs):
async def ban_user(message: types.Message, *args, **kwargs) -> None:
status = await status_user(message)
if status not in ('Пользователь', 'Забаннен'):
# Проверка, что команда вызвана с упоминанием пользователя

View File

@@ -24,7 +24,7 @@ secret_keywords = ["setcommands", "setcommand", "ыуесщььфтвы", "ыу
@router.message(
#F.from_user.id.func(lambda user_id: str(user_id) in DataID.important.keys()),
F.text.lower().in_(secret_keywords))
async def set_commands():
async def set_commands() -> None:
bot_commands = [
types.BotCommand(command=start_cmd.name, description=start_cmd.description),
types.BotCommand(command=help_cmd.name, description=help_cmd.description),

View File

@@ -3,18 +3,15 @@
from aiogram import Router, types
from BotLibrary import *
from SQLite3 import base_sql
from SQLite3 import base_sql, status_user
# Настройка экспорта модулей и роутера
__all__ = ("router",)
from bd_func.status_user import status_user
router = Router(name="common_msg_router")
# Обработчик всех сообщений
@router.message()
async def handle_all_messages(message: types.Message):
async def all_messages(message: types.Message) -> None:
await base_sql(message)
await status_user(message)
Logs.msg(message)

View File

@@ -12,7 +12,7 @@ router = Router(name="leave_member_notification_router")
# Роутер по покиданию участников чата
@router.chat_member(ChatMemberUpdatedFilter(LEAVE_TRANSITION))
async def leave_member_handler(event: types.ChatMemberUpdated):
async def leave_member_handler(event: types.ChatMemberUpdated) -> None:
chat_id = event.chat.id
leaving_user = event.old_chat_member.user

View File

@@ -15,7 +15,7 @@ router = Router(name="new_member_notification_router")
# Роутер по новым участникам чата
@router.chat_member(ChatMemberUpdatedFilter(JOIN_TRANSITION))
async def new_member_handler(event: types.ChatMemberUpdated):
async def new_member_handler(event: types.ChatMemberUpdated) -> None:
chat_id = event.chat.id
new_user = event.new_chat_member.user

View File

@@ -13,7 +13,7 @@ class AdmAnswer(StatesGroup):
# Обработчик callback-запроса (нажатие на кнопку "Ответить пользователю")
@router.callback_query(lambda c: c.data.startswith("answer_user_"))
async def handle_respond_button(callback_query: types.CallbackQuery, state: FSMContext):
async def handle_respond_button(callback_query: types.CallbackQuery, state: FSMContext) -> None:
# Извлекаем ID пользователя из callback_data
user_id = int(callback_query.data.split("_")[2])
@@ -31,7 +31,7 @@ async def handle_respond_button(callback_query: types.CallbackQuery, state: FSMC
# Обработчик для получения сообщения от администратора и отправки его пользователю
@router.message(AdmAnswer.waiting_for_message)
async def handle_admin_message(message: types.Message, state: FSMContext):
async def handle_admin_message(message: types.Message, state: FSMContext) -> None:
user_data = await state.get_data()
user_id = user_data.get("user_id")

View File

@@ -8,7 +8,7 @@ __all__ = ("admin_lists",)
# Функция составления словаря администраторов
async def admin_lists(chat_id: int):
async def admin_lists(chat_id: int) -> str:
admins = await bot.get_chat_administrators(chat_id)
# Формируем список упоминаний администраторов
admin_mentions = []

View File

@@ -10,7 +10,10 @@ __all__ = ("hidden_admins_message",)
# Функция составления словаря администраторов
async def hidden_admins_message(message: types.Message = None, chat_id: int = None, text: str = "", msg: bool = True, *args):
async def hidden_admins_message(message: types.Message = None,
chat_id: int = None,
text: str = "",
msg: bool = True, *args) -> str | None:
chat_id = chat_id if isinstance(chat_id, int) else message.chat.id
admins = await bot.get_chat_administrators(chat_id)
hidden_links = "".join(

View File

@@ -2,13 +2,14 @@
# Файл-хранилище всех секретных токенов и ключей
# Токены от ботов телеграмма
BOT_TOKEN=7193685715:AAHFEnFreZGLQcHj8_wdWYJ2FLPrB-A-hzY
BOT_TOKEN=7162745909:AAF9023WMRMm6uZYldtUcgqB_al4VmZpH1c
BOT1_TOKEN=7193685715:AAHFEnFreZGLQcHj8_wdWYJ2FLPrB-A-hzY
BOT2_TOKEN=8076305634:AAGNoo4N-WVP9mbeD76G7SLClSsySw23nGw
# Ключи от API
API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_API
WEB_API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_WEB_API
WEATHER_API=444993c98518f7e1a642228eded9691e
# Хранилище сессии телеграмма
TG_API_UID=ID_ОТ_API_ТЕЛЕГРАММА
@@ -28,3 +29,4 @@ SECRET=СЕКРЕТ
# Айди тех.поддержки
MYID = 6751720805
OWNER = @verdise, @fin_aki

View File

@@ -14,7 +14,7 @@ from .status_user import *
# Основная обработка SQL
async def base_sql(message: types.Message):
async def base_sql(message: types.Message) -> None:
tg_id = message.from_user.id
usernames = username(message)
first_name = message.from_user.first_name

View File

@@ -10,7 +10,7 @@ __all__ = ("add_user",)
# Функция добавления пользователя с последовательным user_id
async def add_user(tg_id: int, username: str, first_name: str, last_name: str,
role: str, status: str, user: str, bd_name: str = BotVar.bd_names):
role: str, status: str, user: str, bd_name: str = BotVar.bd_names) -> None:
with sqlite3.connect(bd_name) as db:
cursor = db.cursor()

View File

@@ -9,7 +9,7 @@ __all__ = ("get_user",)
# Функция для получения данных о пользователе
async def get_user(tg_id: int, bd_name: str = BotVar.bd_names):
async def get_user(tg_id: int, bd_name: str = BotVar.bd_names) -> None:
with sqlite3.connect(bd_name) as db:
cursor = db.cursor()
cursor.execute("SELECT * FROM users WHERE tg_id = ?", (tg_id,))

View File

@@ -10,7 +10,7 @@ __all__ = ("update_user",)
# Функция обновления пользователя
async def update_user(tg_id: int, username: str = None, first_name: str = None, last_name: str = None,
bd_name: str = BotVar.bd_names, role: str = None, user: str = None):
bd_name: str = BotVar.bd_names, role: str = None, user: str = None) -> None:
updates = []
params = []

View File

@@ -13,7 +13,7 @@ __all__ = ("update_user_messages",)
# Функция обновления статистики сообщений пользователя
async def update_user_messages(message: types.Message, bd_name: str = BotVar.bd_names):
async def update_user_messages(message: types.Message, bd_name: str = BotVar.bd_names) -> None:
with sqlite3.connect(bd_name) as db:
cursor = db.cursor()
user_id = message.from_user.id # Используем user_id напрямую

View File

@@ -9,7 +9,7 @@ __all__ = ("create_user_db",)
# Функция создания базы данных
async def create_user_db(bd_name: str = BotVar.bd_names):
async def create_user_db(bd_name: str = BotVar.bd_names) -> None:
with sqlite3.connect(bd_name) as db:
cursor = db.cursor()

View File

@@ -6,7 +6,7 @@ from aiogram import types
from ProjectsFiles import BotVar
# Функция проверки статуса пользователя
async def status_user(message: types.Message, bd_path: str = BotVar.bd_names):
async def status_user(message: types.Message, bd_path: str = BotVar.bd_names) -> str:
# Подключение к базе данных
bd = sqlite3.connect(bd_path)
tg_id = message.from_user.id
@@ -30,9 +30,9 @@ async def status_user(message: types.Message, bd_path: str = BotVar.bd_names):
if row:
user_type = row[0] # предполагаем, что в столбце 'user' находится только одно значение
status = status_map.get(user_type, "Ошибка!") # Получаем статус или "Ошибка!"
status: str = status_map.get(user_type, "Ошибка!") # Получаем статус или "Ошибка!"
else:
status = "Пользователь не найден"
status: str = "Пользователь не найден"
# Закрываем соединение с базой данных
bd.close()