בקשת מידע | בוט העברה מטלגרם לגוגל צאט - מצליח רק טקסט ללא מדיה
-
אז אחרי קצת ידע מקדים ומלאא ai הצלחתי להגיע לתוצאה כמעט מוגמרת..
אז ככה:
אני רוצה ליצור בוט ששולח אטומטית כל תמונה שנשלחת בבוט בטלגרם לגוגל צאט.
יש לי מייל עיסקי. פתחתי api של גוגל צאט.
בניתי סקריפט פייתון שאומר לו לעהתיק הכל למייל.
העלתי את זה לגיטהב.
מגיטהב קישרתי את זה render. שם הכנסתי כמה וכמה טוקונים...:כדלהלן:TELEGRAM_TOKEN
GOOGLE_CHAT_WEBHOOK
SPACE_ID
GOOGLE_CREDS_JSON (שזה כל תוכן קובץ ה-JSON שהורדת מה-Service Account)ההגדרות עצמם בapi של גוגל
. הגדרות ב-Google Cloud Console (עבור האפליקציה yes1234)
כאן הגדרנו לאן גוגל צריכה לשלוח את המידע שהיא מקבלת:
App Status: מוגדר כ-LIVE.
HTTP endpoint URL: הכתובת של השרת שלך ב-Render: https://telegram-to-google-bot.onrender.com.
Visibility: המייל האישי שלך חייב להופיע שם כדי שתוכל למצוא את האפליקציה בחיפוש בתוך הצ'אט.
Interactive features: מסומן כ-Enabled (מופעל).
אחר-כך הוספת ה-Webhook: יצרת Webhook בשם "בדיקה" שמטפל בטקסט.
ואז: הai אומר לי שאני צריך להוסיף אפליקציה ואני לא מצליח

בפועל טקסט עובד אבל מדיה לא עובדת...
אשמח ממישהו שמבין בזה אם יכול לעזור לי.. תודה רבה!
הקוד המרכזי שלי:
import os import telebot import requests from google.oauth2 import service_account from googleapiclient.discovery import build import json # טעינת משתני סביבה מהגדרות Render TOKEN = os.getenv('TELEGRAM_TOKEN') GOOGLE_WEBHOOK_URL = os.getenv('GOOGLE_CHAT_WEBHOOK') SPACE_ID = os.getenv('SPACE_ID') # צריך להיות בפורמט spaces/AAAA... GOOGLE_CREDS_JSON = os.getenv('GOOGLE_CREDS_JSON') bot = telebot.TeleBot(TOKEN) # הגדרת הרשאות גוגל עבור תמונות def get_google_chat_client(): creds_dict = json.loads(GOOGLE_CREDS_JSON) creds = service_account.Credentials.from_service_account_info( creds_dict, scopes=['https://www.googleapis.com/auth/chat.messages.create'] ) return build('chat', 'v1', credentials=creds) # טיפול בהודעות טקסט (עובר דרך Webhook) @bot.message_handler(content_types=['text']) def handle_text(message): data = {"text": f"{message.from_user.first_name}: {message.text}"} requests.post(GOOGLE_WEBHOOK_URL, json=data) # טיפול בתמונות (עובר דרך Google Chat API) @bot.message_handler(content_types=['photo']) def handle_photo(message): try: # קבלת פרטי התמונה מטלגרם file_info = bot.get_file(message.photo[-1].file_id) image_url = f"https://api.telegram.org/file/bot{TOKEN}/{file_info.file_path}" client = get_google_chat_client() # יצירת הודעה עם תמונה בגוגל צ'אט body = { "text": f"תמונה מ-{message.from_user.first_name}:", "cardsV2": [{ "cardId": "imageCard", "card": { "sections": [{ "widgets": [{ "image": {"imageUrl": image_url} }] }] } }] } client.spaces().messages().create(parent=SPACE_ID, body=body).execute() except Exception as e: print(f"Error sending photo: {e}") # הרצת הבוט if __name__ == "__main__": print("Bot is running...") bot.polling(none_stop=True)קובץ התלויות שלי (requirements.txt)
pyTelegramBotAPI requests google-auth google-api-python-clientשכויח עצום!!