fixed neuroslop 2

This commit is contained in:
2026-05-01 16:03:39 +03:00
parent 2d55baf3ad
commit 38f7227bde

116
bot.py
View File

@@ -39,25 +39,25 @@ class BotHandlers:
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
"""Start command handler""" """Start command handler"""
welcome_text = """ welcome_text = """
**Добро пожаловать в VNDB Telegram Бот!** \*\*Добро пожаловать в VNDB Telegram Бот\!\*\*
Этот бот позволяет искать информацию о визуальных новеллах, персонажах, релизах и многом другом из базы данных VNDB. Этот бот позволяет искать информацию о визуальных новеллах, персонажах, релизах и многом другом из базы данных VNDB.
**Доступные команды:** \*\*Доступные команды:\*\*
/search - Поиск визуальных новелл /search \- Поиск визуальных новелл
/char - Поиск персонажей /char \- Поиск персонажей
/release - Поиск релизов /release \- Поиск релизов
/staff - Поиск сотрудников /staff \- Поиск сотрудников
/producer - Поиск продюсеров /producer \- Поиск продюсеров
/tag - Поиск тегов /tag \- Поиск тегов
/trait - Поиск черт характера /trait \- Поиск черт характера
/quote - Поиск цитат /quote \- Поиск цитат
/stats - Статистика базы данных /stats \- Статистика базы данных
/schema - Информация о схеме API /schema \- Информация о схеме API
/help - Справка по командам /help \- Справка по командам
__Используйте /help для получения подробной информации__ Используйте /help для получения подробной информации
__Также можете ознакомится с примерами команд по ссылке: https://git.kotac.ru/King-of-the-all-Cookies/ayako/src/branch/main/EXAMPLES.md__ Также можете ознакомится с примерами команд по ссылке: https://git.kotac.ru/King\-of\-the\-all\-Cookies/ayako/src/branch/main/EXAMPLES.md
""" """
await update.message.reply_text(welcome_text, parse_mode="Markdown") await update.message.reply_text(welcome_text, parse_mode="Markdown")
@@ -65,47 +65,47 @@ __Также можете ознакомится с примерами кома
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
"""Help command handler""" """Help command handler"""
help_text = """ help_text = """
**Справка по командам VNDB Бота** \*\*Справка по командам VNDB Бота\*\*
**Поиск информации:** \*\*Поиск информации:\*\*
/search <название> - Поиск визуальных новелл по названию /search <название\> \- Поиск визуальных новелл по названию
/char <название> - Поиск персонажей по имени /char <название\> \- Поиск персонажей по имени
/release <название> - Поиск релизов /release <название\> \- Поиск релизов
/staff <название> - Поиск сотрудников (сценаристы, художники и т.д.) /staff <название\> \- Поиск сотрудников \(сценаристы, художники и т.д.\)
/producer <название> - Поиск продюсеров /producer <название\> \- Поиск продюсеров
/tag - Список популярных тегов /tag \- Список популярных тегов
/trait - Список черт характера /trait \- Список черт характера
/quote <количество> - Получить случайные цитаты /quote <количество\> \- Получить случайные цитаты
**Подробный просмотр (с картинками):** \*\*Подробный просмотр \(с картинками\):\*\*
/vn_detail <ID> - Просмотр полной информации о ВН с обложкой /vn\_detail <ID\> \- Просмотр полной информации о ВН с обложкой
_ример: /vn_detail v17__ \_\ример: /vn\_detail v17\_\_
/char_detail <ID> - Просмотр информации о персонаже с аватаром /char\_detail <ID\> \- Просмотр информации о персонаже с аватаром
_ример: /char_detail c1__ \_\ример: /char\_detail c1\_\_
/release_detail <ID> - Просмотр информации о релизе с картинкой /release\_detail <ID\> \- Просмотр информации о релизе с картинкой
_ример: /release_detail r1__ \_\ример: /release\_detail r1\_\_
**Информация:** \*\*Информация:\*\*
/stats - Показать статистику базы данных VNDB /stats \- Показать статистику базы данных VNDB
/schema - Получить информацию о доступных полях API /schema \- Получить информацию о доступных полях API
/authinfo - Информация об авторизации (если настроена) /authinfo \- Информация об авторизации \(если настроена\)
**Функции пользователя (требуют токена):** \*\*Функции пользователя \(требуют токена\):\*\*
Чтобы использовать функции списка, установите токен в переменной окружения VNDB_TOKEN Чтобы использовать функции списка, установите токен в переменной окружения VNDB\_TOKEN
**Примеры использования:** \*\*Примеры использования:\*\*
/search Steins Gate /search Steins Gate
/char Okabe /char Okabe
/release Windows /release Windows
/vn_detail v17 /vn\_detail v17
/char_detail c25 /char\_detail c25
/stats /stats
**Важно:** \*\*Важно:\*\*
- Бот работает в асинхронном режиме \- Бот работает в асинхронном режиме
- Результаты ограничены 10 элементами по умолчанию \- Результаты ограничены 10 элементами по умолчанию
- При поиске автоматически отправляются картинки (первые 3 результата) \- При поиске автоматически отправляются картинки \(первые 3 результата\)
- Для просмотра полной информации с картинкой используйте /vn_detail, /char_detail и т.д. \- Для просмотра полной информации с картинкой используйте /vn\_detail, /char\_detail и т.д.
""" """
await update.message.reply_text(help_text, parse_mode="Markdown") await update.message.reply_text(help_text, parse_mode="Markdown")
@@ -116,15 +116,15 @@ __Также можете ознакомится с примерами кома
stats = await vndb_client.get_stats() stats = await vndb_client.get_stats()
stats_text = f""" stats_text = f"""
**Статистика базы данных VNDB:** \*\*Статистика базы данных VNDB:\*\*
Визуальные новеллы: {stats.get('vn', 0):,} Визуальные новеллы: \{stats.get\('vn', 0\):,\}
Персонажи: {stats.get('chars', 0):,} Персонажи: \{stats.get\('chars', 0\):,\}
Релизы: {stats.get('releases', 0):,} Релизы: \{stats.get\('releases', 0\):,\}
Продюсеры: {stats.get('producers', 0):,} Продюсеры: \{stats.get\('producers', 0\):,\}
Сотрудники: {stats.get('staff', 0):,} Сотрудники: \{stats.get\('staff', 0\):,\}
Теги: {stats.get('tags', 0):,} Теги: \{stats.get\('tags', 0\):,\}
Черты характера: {stats.get('traits', 0):,} Черты характера: \{stats.get\('traits', 0\):,\}
""" """
await update.message.reply_text(stats_text, parse_mode="Markdown") await update.message.reply_text(stats_text, parse_mode="Markdown")
except Exception as e: except Exception as e:
@@ -629,12 +629,12 @@ __Также можете ознакомится с примерами кома
auth_info = await client_with_token.get_authinfo() auth_info = await client_with_token.get_authinfo()
response_text = f""" response_text = f"""
**Информация об авторизации:** \*\*Информация об авторизации:\*\*
ID: {auth_info.get('id', 'Unknown')} ID: \{auth\_info.get\('id', 'Unknown'\)\}
Пользователь: {auth_info.get('username', 'Unknown')} Пользователь: \{auth\_info.get\('username', 'Unknown'\)\}
**Разрешения:** \*\*Разрешения:\*\*
""" """
permissions = auth_info.get("permissions", []) permissions = auth_info.get("permissions", [])