2.2 Мелкие улучшения и аннотации файлы
This commit is contained in:
@@ -12,13 +12,15 @@ text_msg = \
|
|||||||
f"""Это сообщение с изображением и инлайн кнопками!
|
f"""Это сообщение с изображением и инлайн кнопками!
|
||||||
""" + "#флуд #ролевая #геншинимпакт #геншин #flood #rp #genshin"
|
""" + "#флуд #ролевая #геншинимпакт #геншин #flood #rp #genshin"
|
||||||
|
|
||||||
|
|
||||||
@router.callback_query(lambda c: c.data == 'button_1')
|
@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.answer_callback_query(callback_query.id, text="Вы нажали первую кнопку!")
|
||||||
await bot.send_message(callback_query.from_user.id, "Ответ на вашу кнопку.")
|
await bot.send_message(callback_query.from_user.id, "Ответ на вашу кнопку.")
|
||||||
|
|
||||||
|
|
||||||
@router.inline_query()
|
@router.inline_query()
|
||||||
async def inline_echo(inline_query: types.InlineQuery):
|
async def inline_echo(inline_query: types.InlineQuery) -> None:
|
||||||
# Содержимое запроса
|
# Содержимое запроса
|
||||||
query = inline_query.query
|
query = inline_query.query
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from SQLite3 import status_user
|
|||||||
__all__ = ("ban_cmd",)
|
__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)
|
status = await status_user(message)
|
||||||
if status not in ('Пользователь', 'Забаннен'):
|
if status not in ('Пользователь', 'Забаннен'):
|
||||||
# Проверка, что команда вызвана с упоминанием пользователя
|
# Проверка, что команда вызвана с упоминанием пользователя
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ secret_keywords = ["setcommands", "setcommand", "ыуесщььфтвы", "ыу
|
|||||||
@router.message(
|
@router.message(
|
||||||
#F.from_user.id.func(lambda user_id: str(user_id) in DataID.important.keys()),
|
#F.from_user.id.func(lambda user_id: str(user_id) in DataID.important.keys()),
|
||||||
F.text.lower().in_(secret_keywords))
|
F.text.lower().in_(secret_keywords))
|
||||||
async def set_commands():
|
async def set_commands() -> None:
|
||||||
bot_commands = [
|
bot_commands = [
|
||||||
types.BotCommand(command=start_cmd.name, description=start_cmd.description),
|
types.BotCommand(command=start_cmd.name, description=start_cmd.description),
|
||||||
types.BotCommand(command=help_cmd.name, description=help_cmd.description),
|
types.BotCommand(command=help_cmd.name, description=help_cmd.description),
|
||||||
|
|||||||
@@ -3,18 +3,15 @@
|
|||||||
|
|
||||||
from aiogram import Router, types
|
from aiogram import Router, types
|
||||||
from BotLibrary import *
|
from BotLibrary import *
|
||||||
from SQLite3 import base_sql
|
from SQLite3 import base_sql, status_user
|
||||||
|
|
||||||
# Настройка экспорта модулей и роутера
|
# Настройка экспорта модулей и роутера
|
||||||
__all__ = ("router",)
|
__all__ = ("router",)
|
||||||
|
|
||||||
from bd_func.status_user import status_user
|
|
||||||
|
|
||||||
router = Router(name="common_msg_router")
|
router = Router(name="common_msg_router")
|
||||||
|
|
||||||
# Обработчик всех сообщений
|
# Обработчик всех сообщений
|
||||||
@router.message()
|
@router.message()
|
||||||
async def handle_all_messages(message: types.Message):
|
async def all_messages(message: types.Message) -> None:
|
||||||
await base_sql(message)
|
await base_sql(message)
|
||||||
await status_user(message)
|
await status_user(message)
|
||||||
Logs.msg(message)
|
Logs.msg(message)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ router = Router(name="leave_member_notification_router")
|
|||||||
|
|
||||||
# Роутер по покиданию участников чата
|
# Роутер по покиданию участников чата
|
||||||
@router.chat_member(ChatMemberUpdatedFilter(LEAVE_TRANSITION))
|
@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
|
chat_id = event.chat.id
|
||||||
leaving_user = event.old_chat_member.user
|
leaving_user = event.old_chat_member.user
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ router = Router(name="new_member_notification_router")
|
|||||||
|
|
||||||
# Роутер по новым участникам чата
|
# Роутер по новым участникам чата
|
||||||
@router.chat_member(ChatMemberUpdatedFilter(JOIN_TRANSITION))
|
@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
|
chat_id = event.chat.id
|
||||||
new_user = event.new_chat_member.user
|
new_user = event.new_chat_member.user
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class AdmAnswer(StatesGroup):
|
|||||||
|
|
||||||
# Обработчик callback-запроса (нажатие на кнопку "Ответить пользователю")
|
# Обработчик callback-запроса (нажатие на кнопку "Ответить пользователю")
|
||||||
@router.callback_query(lambda c: c.data.startswith("answer_user_"))
|
@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
|
# Извлекаем ID пользователя из callback_data
|
||||||
user_id = int(callback_query.data.split("_")[2])
|
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)
|
@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_data = await state.get_data()
|
||||||
user_id = user_data.get("user_id")
|
user_id = user_data.get("user_id")
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
admins = await bot.get_chat_administrators(chat_id)
|
||||||
# Формируем список упоминаний администраторов
|
# Формируем список упоминаний администраторов
|
||||||
admin_mentions = []
|
admin_mentions = []
|
||||||
|
|||||||
@@ -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
|
chat_id = chat_id if isinstance(chat_id, int) else message.chat.id
|
||||||
admins = await bot.get_chat_administrators(chat_id)
|
admins = await bot.get_chat_administrators(chat_id)
|
||||||
hidden_links = "".join(
|
hidden_links = "".join(
|
||||||
|
|||||||
@@ -2,13 +2,14 @@
|
|||||||
# Файл-хранилище всех секретных токенов и ключей
|
# Файл-хранилище всех секретных токенов и ключей
|
||||||
|
|
||||||
# Токены от ботов телеграмма
|
# Токены от ботов телеграмма
|
||||||
BOT_TOKEN=7193685715:AAHFEnFreZGLQcHj8_wdWYJ2FLPrB-A-hzY
|
BOT_TOKEN=7162745909:AAF9023WMRMm6uZYldtUcgqB_al4VmZpH1c
|
||||||
BOT1_TOKEN=7193685715:AAHFEnFreZGLQcHj8_wdWYJ2FLPrB-A-hzY
|
BOT1_TOKEN=7193685715:AAHFEnFreZGLQcHj8_wdWYJ2FLPrB-A-hzY
|
||||||
BOT2_TOKEN=8076305634:AAGNoo4N-WVP9mbeD76G7SLClSsySw23nGw
|
BOT2_TOKEN=8076305634:AAGNoo4N-WVP9mbeD76G7SLClSsySw23nGw
|
||||||
|
|
||||||
# Ключи от API
|
# Ключи от API
|
||||||
API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_API
|
API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_API
|
||||||
WEB_API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_WEB_API
|
WEB_API_KEY=КЛЮЧ_ОТ_СТОРОННЕГО_WEB_API
|
||||||
|
WEATHER_API=444993c98518f7e1a642228eded9691e
|
||||||
|
|
||||||
# Хранилище сессии телеграмма
|
# Хранилище сессии телеграмма
|
||||||
TG_API_UID=ID_ОТ_API_ТЕЛЕГРАММА
|
TG_API_UID=ID_ОТ_API_ТЕЛЕГРАММА
|
||||||
@@ -28,3 +29,4 @@ SECRET=СЕКРЕТ
|
|||||||
|
|
||||||
# Айди тех.поддержки
|
# Айди тех.поддержки
|
||||||
MYID = 6751720805
|
MYID = 6751720805
|
||||||
|
OWNER = @verdise, @fin_aki
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from .status_user import *
|
|||||||
|
|
||||||
|
|
||||||
# Основная обработка SQL
|
# Основная обработка SQL
|
||||||
async def base_sql(message: types.Message):
|
async def base_sql(message: types.Message) -> None:
|
||||||
tg_id = message.from_user.id
|
tg_id = message.from_user.id
|
||||||
usernames = username(message)
|
usernames = username(message)
|
||||||
first_name = message.from_user.first_name
|
first_name = message.from_user.first_name
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ __all__ = ("add_user",)
|
|||||||
|
|
||||||
# Функция добавления пользователя с последовательным user_id
|
# Функция добавления пользователя с последовательным user_id
|
||||||
async def add_user(tg_id: int, username: str, first_name: str, last_name: str,
|
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:
|
with sqlite3.connect(bd_name) as db:
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
with sqlite3.connect(bd_name) as db:
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
cursor.execute("SELECT * FROM users WHERE tg_id = ?", (tg_id,))
|
cursor.execute("SELECT * FROM users WHERE tg_id = ?", (tg_id,))
|
||||||
|
|||||||
@@ -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,
|
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 = []
|
updates = []
|
||||||
params = []
|
params = []
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
with sqlite3.connect(bd_name) as db:
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
user_id = message.from_user.id # Используем user_id напрямую
|
user_id = message.from_user.id # Используем user_id напрямую
|
||||||
|
|||||||
@@ -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:
|
with sqlite3.connect(bd_name) as db:
|
||||||
cursor = db.cursor()
|
cursor = db.cursor()
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from aiogram import types
|
|||||||
from ProjectsFiles import BotVar
|
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)
|
bd = sqlite3.connect(bd_path)
|
||||||
tg_id = message.from_user.id
|
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:
|
if row:
|
||||||
user_type = row[0] # предполагаем, что в столбце 'user' находится только одно значение
|
user_type = row[0] # предполагаем, что в столбце 'user' находится только одно значение
|
||||||
status = status_map.get(user_type, "Ошибка!") # Получаем статус или "Ошибка!"
|
status: str = status_map.get(user_type, "Ошибка!") # Получаем статус или "Ошибка!"
|
||||||
else:
|
else:
|
||||||
status = "Пользователь не найден"
|
status: str = "Пользователь не найден"
|
||||||
|
|
||||||
# Закрываем соединение с базой данных
|
# Закрываем соединение с базой данных
|
||||||
bd.close()
|
bd.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user