Добавлена команда !правила.

This commit is contained in:
Kirill Kirilenko 2025-08-27 00:19:21 +03:00
parent aa63b2a374
commit 2190c1273f
2 changed files with 25 additions and 0 deletions

24
bot.py
View file

@ -48,6 +48,7 @@ def create_user_if_not_exists(chat_id: str, user_id: str):
MESSAGE_CHAT_NOT_ACTIVE = 'Извините, но я пока не работаю в этом чате.'
MESSAGE_PERMISSION_DENIED = 'Извините, но о таком меня может попросить только администратор чата.'
MESSAGE_NEED_REPLY = 'Извините, но эту команду нужно вызывать в ответном сообщении.'
MESSAGE_DEFAULT_RULES = 'Правила не установлены. Просто ведите себя хорошо.'
MESSAGE_DEFAULT_GREETING_JOIN = 'Добро пожаловать, {name}!'
MESSAGE_DEFAULT_GREETING_REJOIN = 'С возвращением, {name}!'
@ -74,6 +75,29 @@ async def start_handler(message: Message):
await message.answer('Готова к работе!')
@bot.on.chat_message(text="!правила")
async def rules_handler(message: Message):
chat_id = message.peer_id
chat = create_chat_if_not_exists(chat_id)
if chat['active'] == 0:
await message.answer(MESSAGE_CHAT_NOT_ACTIVE)
return
if message.reply_message is None:
if chat['rules'] is not None:
await message.answer(bold('Правила чата') + '\n' + chat['rules'])
else:
await message.answer(MESSAGE_DEFAULT_RULES)
else:
chat_members = await bot.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
database.DB.chat_update(chat_id, rules=message.reply_message.text)
await message.answer('Правила чата изменены.')
@bot.on.chat_message(text="!приветствие")
async def set_greeting_join_handler(message: Message):
chat_id = message.peer_id

View file

@ -12,6 +12,7 @@ class Database:
CREATE TABLE IF NOT EXISTS chats (
"id" INTEGER,
"active" INTEGER NOT NULL DEFAULT 0,
"rules" TEXT,
"greeting_join" TEXT,
"greeting_rejoin" TEXT,
PRIMARY KEY("id"))