Сделать бота в Инсте, чтобы отвечал сообщением на кодовое слово
Чтобы бот автоматически отвечал на кодовое слово в личных сообщениях Instagram, отправляя ссылку на Telegram, нужно:
Пример кода на Python (Flask + Requests):
1. Подключить Instagram API и Webhook
- Создать приложение в Meta for Developers и подключить Instagram Graph API.
- Получить токен доступа (
instagram_manage_messages
). - Настроить Webhook для получения входящих сообщений.
2. Обработать входящие сообщения
Бот должен проверять, содержит ли сообщение кодовое слово, и отправлять ответ.Пример кода на Python (Flask + Requests):
Запуск Webhook для получения сообщений
from flask import Flask, request
import requests
app = Flask(__name__)
VERIFY_TOKEN = "YOUR_VERIFY_TOKEN"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"
TELEGRAM_LINK = "https://t.me/YOUR_TELEGRAM_BOT"
@app.route('/webhook', methods=['GET', 'POST'])
def webhook():
if request.method == 'GET': # Подтверждение Webhook в Meta
if request.args.get("hub.verify_token") == VERIFY_TOKEN:
return request.args.get("hub.challenge")
return "Ошибка проверки", 403
if request.method == 'POST': # Обработка сообщений
data = request.json
for entry in data.get("entry", []):
for message_data in entry.get("messaging", []):
sender_id = message_data["sender"]["id"]
message_text = message_data.get("message", {}).get("text", "").lower()
if "кодовое слово" in message_text: # Проверяем кодовое слово
send_message(sender_id, f"Перейдите в наш Telegram: {TELEGRAM_LINK}")
return "OK", 200
def send_message(user_id, text):
"""Функция отправки сообщения"""
url = f"https://graph.facebook.com/v19.0/me/messages?access_token={ACCESS_TOKEN}"
payload = {
"recipient": {"id": user_id},
"message": {"text": text}
}
requests.post(url, json=payload)
if __name__ == "__main__":
app.run(port=5000, debug=True)
3. Развернуть сервер и подключить Webhook
- Запустите сервер (например, на Heroku, AWS, Vercel).
- Укажите Webhook URL в настройках Facebook App (
https://yourserver.com/webhook
). - Подключите обработку событий
messages
в Instagram API.