diff --git a/bot.py b/bot.py index b47b07f..857e7fe 100644 --- a/bot.py +++ b/bot.py @@ -4,6 +4,7 @@ import datetime import time from vkbottle.bot import Bot, Message +from vkbottle_types.objects import MessagesGetConversationMembers import config from config import db_load, db_save @@ -24,20 +25,26 @@ async def get_user_info(user_id): return None +def user_is_admin(user_id: int, chat_members: MessagesGetConversationMembers): + for member in chat_members.items: + if member.member_id != user_id: + continue + return member.is_admin + return False + + @bot.on.chat_message(text="!старт") async def stats_handler(message: Message): - chat_id = str(message.peer_id) - user_id = str(message.from_id) + chat_members = await bot.api.messages.get_conversation_members(peer_id=message.peer_id, extended=False) - # TODO - if user_id != '5326732': + if not user_is_admin(message.from_id, chat_members): + await message.answer('О таком меня может попросить только администратор беседы.') return + chat_id = str(message.peer_id) if chat_id not in config.DB['chats']: config.DB['chats'][chat_id] = {'users': {}} - chat_members = await bot.api.messages.get_conversation_members(peer_id=message.peer_id, extended=False) - for member in chat_members.items: if member.member_id < 0: continue