Добавлена команда !сброс для групповых чатов.

Команда !личность переименована в !запрос.
This commit is contained in:
Kirill Kirilenko 2026-02-08 22:46:36 +03:00
parent 2e7f2d0632
commit 51fa14771f
4 changed files with 40 additions and 6 deletions

View file

@ -74,7 +74,7 @@ async def set_greeting_handler(message: Message, bot: Bot):
await message.answer('Приветствие изменено.') await message.answer('Приветствие изменено.')
@router.message(F.text == "!личность") @router.message(F.text == "!запрос")
async def set_ai_prompt_handler(message: Message, bot: Bot): async def set_ai_prompt_handler(message: Message, bot: Bot):
chat_id = message.chat.id chat_id = message.chat.id
chat = database.DB.create_chat_if_not_exists(bot.id, chat_id) chat = database.DB.create_chat_if_not_exists(bot.id, chat_id)
@ -91,8 +91,23 @@ async def set_ai_prompt_handler(message: Message, bot: Bot):
return return
database.DB.chat_update(bot.id, chat_id, ai_prompt=message.reply_to_message.text) database.DB.chat_update(bot.id, chat_id, ai_prompt=message.reply_to_message.text)
await message.answer('Системный запрос ИИ на уровне чата изменен.')
@router.message(F.text == "!сброс")
async def clear_context_handler(message: Message, bot: Bot):
chat_id = message.chat.id
chat = database.DB.create_chat_if_not_exists(bot.id, chat_id)
if chat['active'] == 0:
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
return
if not await tg_user_is_admin(chat_id, message.from_user.id, bot):
await message.answer(MESSAGE_PERMISSION_DENIED)
return
ai_agent.agent.clear_chat_context(bot.id, chat_id) ai_agent.agent.clear_chat_context(bot.id, chat_id)
await message.answer('Личность ИИ изменена.') await message.answer("Контекст очищен.")
@router.message(F.text == "!предупреждение") @router.message(F.text == "!предупреждение")

View file

@ -58,7 +58,8 @@ async def help_handler(message: Message, bot: Bot):
response += '!старт - начать работу в чате\n' response += '!старт - начать работу в чате\n'
response += '!правила* - изменить правила\n' response += '!правила* - изменить правила\n'
response += '!приветствие* - изменить приветствие новичков\n' response += '!приветствие* - изменить приветствие новичков\n'
response += '!личность* - изменить описание личности ИИ\n' response += '!запрос* - изменить системный запрос ИИ на уровне чата\n'
response += '!сброс - очистить контекст ИИ\n'
response += '!предупреждение* - выдать предупреждение участнику\n' response += '!предупреждение* - выдать предупреждение участнику\n'
response += '\n' response += '\n'
response += Italic('Команды с пометкой * нужно вызывать в ответном сообщении.') response += Italic('Команды с пометкой * нужно вызывать в ответном сообщении.')

View file

@ -134,7 +134,7 @@ async def set_birthday_handler(message: Message):
await message.answer('Уведомление о дне рождения изменено.') await message.answer('Уведомление о дне рождения изменено.')
@labeler.chat_message(text="!личность") @labeler.chat_message(text="!запрос")
async def set_ai_prompt_handler(message: Message): async def set_ai_prompt_handler(message: Message):
bot_id = get_bot_id(message.ctx_api) bot_id = get_bot_id(message.ctx_api)
chat_id = message.peer_id chat_id = message.peer_id
@ -153,8 +153,25 @@ async def set_ai_prompt_handler(message: Message):
return return
database.DB.chat_update(bot_id, chat_id, ai_prompt=message.reply_message.text) database.DB.chat_update(bot_id, chat_id, ai_prompt=message.reply_message.text)
await message.answer('Системный запрос ИИ на уровне чата изменен.')
@labeler.chat_message(text="!сброс")
async def clear_context_handler(message: Message):
bot_id = get_bot_id(message.ctx_api)
chat_id = message.peer_id
chat = database.DB.create_chat_if_not_exists(bot_id, chat_id)
if chat['active'] == 0:
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
return
chat_members = await message.ctx_api.messages.get_conversation_members(peer_id=chat_id, extended=False)
if not vk_user_is_admin(message.from_id, chat_members):
await message.answer(MESSAGE_PERMISSION_DENIED)
return
ai_agent.agent.clear_chat_context(bot_id, chat_id) ai_agent.agent.clear_chat_context(bot_id, chat_id)
await message.answer('Личность ИИ изменена.') await message.answer("Контекст очищен.")
@labeler.chat_message(text="!предупреждение") @labeler.chat_message(text="!предупреждение")

View file

@ -67,7 +67,8 @@ async def rules_handler(message: Message):
response += '!приветствие* - изменить приветствие новичков\n' response += '!приветствие* - изменить приветствие новичков\n'
response += '!возвращение* - изменить приветствие при возвращении\n' response += '!возвращение* - изменить приветствие при возвращении\n'
response += '!деньрождения* - изменить уведомление о дне рождения\n' response += '!деньрождения* - изменить уведомление о дне рождения\n'
response += '!личность* - изменить описание личности ИИ\n' response += '!запрос* - изменить системный запрос ИИ на уровне чата\n'
response += '!сброс - очистить контекст ИИ\n'
response += '!предупреждение* - выдать предупреждение участнику\n' response += '!предупреждение* - выдать предупреждение участнику\n'
response += '!исключить* - навсегда исключить участника\n' response += '!исключить* - навсегда исключить участника\n'
response += '\n' response += '\n'