import enum
class SenderType(enum.Enum):
FROM_USER = enum.auto()
FROM_CHAT = enum.auto()
FROM_GROUP = enum.auto()
def get_sender_type(peer_id: int) -> SenderType:
SHIFT_VALUE = 2_000_000_000
if peer_id > SHIFT_VALUE:
return SenderType.FROM_CHAT
elif 0 < peer_id < SHIFT_VALUE:
return SenderType.FROM_USER
else:
return SenderType.FROM_GROUP
if __name__ == '__main__':
test_id = 345343111
if get_sender_type(test_id) == SenderType.FROM_USER:
print('Работает)')
CONVERSATION2PEER_GAP = 2_000_000_000
conversation_id = int(conversation_id) # Почему у вас где-то идентификаторы хранятся интом,
# а где-то текстом? Нужно стремиться к стандартизации и избегать таких неконсистентных нюансов.
# Если там не может быть другого текста, то следует приводить к числу сразу когда возможно.
peer_id = event.object['message']['peer_id']
if peer_id != conversation_id + CONVERSATION2PEER_GAP:
continue
event_action = [event.object['message'].get('action')]
os.rename(file, new_path)
suffixes = {'Audio': ['.mp3', '.wav'], 'Photos': ['.jpg', '.png'], etc, etc}
suffix = Path(file).suffix
for folder_name, extensions in suffixes.items():
if suffix in extensions:
new_path = f'{folder_track}/{folder_name}/{filename}'
break
else:
new_path = f'{folder_track}/Other/{filename}'
os.rename(file, new_path)