Как отправлять прямые сообщения в Instagram [закрыто]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отправлять прямые сообщения в Instagram [закрыто]

Сообщение Anonymous »

Код: Выделить всё

import asyncio
import websockets
import json
import time
import paho.mqtt.client as mqtt
import struct

class InstagramWebSocket:
def __init__(self, mqtt_sid, client_id, cookies):
self.mqtt_sid = mqtt_sid
self.client_id = client_id
self.cookies = cookies
self.ws = None
self.cursor = None

async def connect(self):
mqtt_headers = {
"Host": "edge-chat.instagram.com",
"Connection": "Upgrade",
"Pragma": "no-cache",
"Cache-Control": "no-cache",
"Upgrade": "websocket",
"Origin": "https://www.instagram.com",
"Sec-WebSocket-Version": "13",
"sec-websocket-key":"key",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",

}

uri = f"wss://edge-chat.instagram.com/chat?sid=&cid="

try:
self.ws = await websockets.connect(uri, additional_headers=mqtt_headers)
await self.on_open()
except Exception as e:
print(f"Connection error: {e}")

async def on_open(self):
# Connect MQTT
connect_payload = {
"cmd": "connect",
"protocolId": "MQIsdp",
"clientId": "mqttwsclient",
"protocolVersion": 3,
"clean": True,
"keepalive": 10,
"username": json.dumps({
"u": "userid",
"s": "",
"cp": 3,
"ecp": 10,
"chat_on": True,
"fg": False,
"d": self.client_id,
"ct": "cookie_auth",
"mqtt_sid": "",
"aid": 936619743392459,
"st": [],
"pm": [],
"dc": "",
"no_auto_fg": True,
"gas": None,
"pack": [],
"php_override": "",
"p": None,
"a": "Mozilla/5.0 (Macintosh;  Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
"aids": None
})
}
await self.ws.send(mqtt.generate(connect_payload))

# Send app settings
app_settings_payload = {
"cmd": "publish",
"messageId": 1,
"qos": 1,
"topic": "/ls_app_settings",
"payload": json.dumps({
"ls_fdid": "",
"ls_sv": ""
})
}
await self.ws.send(mqtt.generate(app_settings_payload))
cursor = None  # Define your initial cursor value
ws = None

async def on_message(ws, data):
print(f"on msg from socket: {data}")

# Convert data to hex for comparison
data_hex = data.hex() if isinstance(data, bytes) else data

if data_hex == "42020001":
# Subscribe to /ls_resp
subscribe_packet = {
"cmd": "subscribe",
"qos": 1,
"subscriptions": [
{
"topic": "/ls_resp",
"qos": 0
}
],
"messageId": 3
}
ws.send(json.dumps(subscribe_packet))

# Publish request to /ls_req
publish_packet = {
"cmd": "publish",
"messageId": 5,
"qos": 1,
"dup": False,
"retain": False,
"topic": "/ls_req",
"payload": json.dumps({
"app_id": "936619743392459",
"payload": json.dumps({
"database": 1,
"epoch_id": int(time.time() * 1000) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79280031/how-to-send-direct-messages-instagram[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»