161 lines
4.3 KiB
Python
161 lines
4.3 KiB
Python
import json
|
||
|
||
class Proto:
|
||
def pack_packet(self, ver=10, cmd=1, seq=0, opcode=1, payload=None):
|
||
# а разве не надо в жсон запаковывать ещё
|
||
# о всё
|
||
return json.dumps({
|
||
"ver": ver,
|
||
"cmd": cmd,
|
||
"seq": seq,
|
||
"opcode": opcode,
|
||
"payload": payload
|
||
})
|
||
|
||
def unpack_packet(self, packet):
|
||
# нужно try catch сделать
|
||
# чтобы не сыпалось всё при неверных пакетах
|
||
try:
|
||
parsed_packet = json.loads(packet)
|
||
except:
|
||
return None
|
||
|
||
return parsed_packet
|
||
# мне кажется долго вручную всё писать
|
||
# а как еще
|
||
# ну вставить сюда целиком и потом через multiline cursor удалить лишнее
|
||
# ну ты удалишь тогда. я на тачпаде
|
||
# ладно щас другим способом удалю
|
||
# всё нахуй
|
||
# TAMTAM SOURCE LEAK 2026
|
||
# так ну че делать будем
|
||
# так ну
|
||
|
||
# 19 опкод сделан?
|
||
# нет сэр пошли библиотеку тамы смотреть
|
||
# мб найдем че. она без обфускации
|
||
# а ты ее видишь?
|
||
# пошли
|
||
|
||
### Констаты протокола
|
||
CMD_OK = 1
|
||
CMD_NOF = 2
|
||
CMD_ERR = 3
|
||
PROTO_VER = 10
|
||
|
||
### Команды
|
||
PING = 1
|
||
LOG = 5
|
||
SESSION_INIT = 6
|
||
PROFILE = 16
|
||
AUTH_REQUEST = 17
|
||
AUTH_CHECK_SCENARIO = 263
|
||
AUTH = 18
|
||
LOGIN = 19
|
||
LOGOUT = 20
|
||
SYNC = 21
|
||
CONFIG = 22
|
||
AUTH_CONFIRM = 23
|
||
ASSETS_GET = 26
|
||
ASSETS_UPDATE = 27
|
||
ASSETS_GET_BY_IDS = 28
|
||
ASSETS_ADD = 29
|
||
ASSETS_REMOVE = 259
|
||
ASSETS_MOVE = 260
|
||
ASSETS_LIST_MODIFY = 261
|
||
CONTACT_INFO = 32
|
||
CONTACT_UPDATE = 34
|
||
CONTACT_PRESENCE = 35
|
||
CONTACT_LIST = 36
|
||
CONTACT_PHOTOS = 39
|
||
CONTACT_CREATE = 41
|
||
REMOVE_CONTACT_PHOTO = 43
|
||
OWN_CONTACT_SEARCH = 44
|
||
CHAT_INFO = 48
|
||
CHAT_HISTORY = 49
|
||
CHAT_MARK = 50
|
||
CHAT_MEDIA = 51
|
||
CHAT_DELETE = 52
|
||
CHAT_LIST = 53
|
||
CHAT_CLEAR = 54
|
||
CHAT_UPDATE = 55
|
||
CHAT_CHECK_LINK = 56
|
||
CHAT_JOIN = 57
|
||
CHAT_LEAVE = 58
|
||
CHAT_MEMBERS = 59
|
||
CHAT_CLOSE = 61
|
||
CHAT_BOT_COMMANDS = 144
|
||
CHAT_SUBSCRIBE = 75
|
||
PUBLIC_SEARCH = 60
|
||
CHAT_CREATE = 63
|
||
MSG_SEND = 64
|
||
MSG_TYPING = 65
|
||
MSG_DELETE = 66
|
||
MSG_EDIT = 67
|
||
CHAT_SEARCH = 68
|
||
MSG_SHARE_PREVIEW = 70
|
||
MSG_SEARCH_TOUCH = 72
|
||
MSG_SEARCH = 73
|
||
MSG_GET_STAT = 74
|
||
MSG_GET = 71
|
||
VIDEO_CHAT_START = 76
|
||
VIDEO_CHAT_JOIN = 102
|
||
VIDEO_CHAT_COMMAND = 78
|
||
VIDEO_CHAT_MEMBERS = 195
|
||
CHAT_MEMBERS_UPDATE = 77
|
||
PHOTO_UPLOAD = 80
|
||
STICKER_UPLOAD = 81
|
||
VIDEO_UPLOAD = 82
|
||
VIDEO_PLAY = 83
|
||
MUSIC_PLAY = 84
|
||
MUSIC_PLAY30 = 85
|
||
FILE_UPLOAD = 87
|
||
FILE_DOWNLOAD = 88
|
||
CHAT_PIN_SET_VISIBILITY = 86
|
||
LINK_INFO = 89
|
||
MESSAGE_LINK = 90
|
||
MSG_CONSTRUCT = 94
|
||
SESSIONS_INFO = 96
|
||
SESSIONS_CLOSE = 97
|
||
PHONE_BIND_REQUEST = 98
|
||
PHONE_BIND_CONFIRM = 99
|
||
UNBIND_OK_PROFILE = 100
|
||
CHAT_COMPLAIN = 117
|
||
MSG_SEND_CALLBACK = 118
|
||
SUSPEND_BOT = 119
|
||
MSG_REACT = 178
|
||
MSG_CANCEL_REACTION = 179
|
||
MSG_GET_REACTIONS = 180
|
||
MSG_GET_DETAILED_REACTIONS = 181
|
||
LOCATION_STOP = 124
|
||
LOCATION_SEND = 125
|
||
LOCATION_REQUEST = 126
|
||
NOTIF_MESSAGE = 128
|
||
NOTIF_TYPING = 129
|
||
NOTIF_MARK = 130
|
||
NOTIF_CONTACT = 131
|
||
NOTIF_PRESENCE = 132
|
||
NOTIF_CONFIG = 134
|
||
NOTIF_CHAT = 135
|
||
NOTIF_ATTACH = 136
|
||
NOTIF_VIDEO_CHAT_START = 137
|
||
NOTIF_VIDEO_CHAT_COMMAND = 138
|
||
NOTIF_CALLBACK_ANSWER = 143
|
||
NOTIF_MSG_CONSTRUCT = 146
|
||
NOTIF_LOCATION = 147
|
||
NOTIF_LOCATION_REQUEST = 148
|
||
NOTIF_ASSETS_UPDATE = 150
|
||
NOTIF_MSG_REACTIONS_CHANGED = 155
|
||
NOTIF_MSG_YOU_REACTED = 156
|
||
NOTIF_DRAFT = 152
|
||
NOTIF_DRAFT_DISCARD = 153
|
||
NOTIF_MSG_DELAYED = 154
|
||
AUTH_CALL_INFO = 256
|
||
CONTACT_INFO_EXTERNAL = 45
|
||
DRAFT_SAVE = 176
|
||
DRAFT_DISCARD = 177
|
||
STICKER_CREATE = 193
|
||
STICKER_SUGGEST = 194
|
||
CHAT_SEARCH_COUNT_MSG = 197
|
||
CHAT_SEARCH_COMMON_PARTICIPANTS = 198
|
||
GET_USER_SCORE = 201 |