class BaseField:
def __init__(self, value):
self.value = value
def __eq__(self, other):
if isinstance(other, BaseField):
return self.value == other.value
return self.value == other
def __repr__(self):
return str(self.value)
class BoolField(BaseField):
def __str__(self):
return {
True: 'Есть',
False: 'Нет'
}.get(self.value)
class MoneyField(BaseField):
def __str__(self):
return f'{self.value}$'
class Person:
def __init__(self, name):
self.name = name
self.something_1 = BoolField(False)
self.something_2 = BoolField(True)
self.money = MoneyField(1500)
p = Person('Vladimir')
print(p.something_1)
print(p.money)
from vk_maria import Vk, types
from vk_maria.dispatcher import Dispatcher
from vk_maria.dispatcher.filters import AbstractFilter
class ChatInviteUser(AbstractFilter):
def check(self, event: types.MessageEvent):
if 'action' in event.message:
return event.message.action.type == "chat_invite_user"
vk = Vk(access_token='')
dp = Dispatcher(vk)
@dp.event_handler(types.EventType.MESSAGE_NEW, ChatInviteUser)
def handle_chat_invite_user(event: types.MessageEvent):
event.answer(f"Добро пожаловать в беседу, {event.message.from_id=}")
if __name__ == '__main__':
dp.start_polling(debug=True)
from aiogram import types
from aiogram.dispatcher.filters import Filter, Command
class CommandNotInListFilter(Filter):
def __init__(self, commands: Command):
self.commands = commands
def check(self, message: types.Message) -> bool:
if not message.text.startswith('/'):
return False
return message.text[1:] in self.commands.commands
@dp.message_handler(
CommandNotInListFilter(Command(['start', 'help']))
)
async def handle_unknown_commands(message: types.Message):
await message.reply("Данной команды не существует!")