Hello, Telegram!

Ich verwende zum Weiterleiten einen einfachen Link https://t.me/dvachannel/143325 und es funktioniert gut auf meinem Laptop und Android, aber nicht auf dem iPhone.

","image":"http://www.luping.net/uploads/20241010/172854828567078dbdb6da6.jpg","datePublished":"2024-11-02T18:50:54+08:00","dateModified":"2024-11-02T18:50:54+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Telegramm window.open(url, &#_blank&#); Funktioniert seltsam auf iOS

Telegramm window.open(url, &#_blank&#); Funktioniert seltsam auf iOS

Veröffentlicht am 02.11.2024
Durchsuche:886

telegram window.open(url,

Ich erstelle einen Telegram-Bot und möchte die Option hinzufügen, einige Informationen von der Miniapp an einen Chat weiterzuleiten. Ich habe mich für window.open(url, '_blank'); entschieden. und es hat gut funktioniert, bis ich es auf meinem iPhone ausprobiert habe. Anstelle der Weiterleitung habe ich „Teilen“ erhalten (das ist eine große Sache, ich muss eine Nachricht genau weiterleiten). Ich habe einige Ideen, wie ich damit umgehen soll, aber sie sind nicht benutzerfreundlich. Haben Sie hier Vorschläge?

Ich habe zwei einfache Teile: 1)app.py

from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, WebAppInfo
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, CallbackContext, filters
from collections import defaultdict
from credentials import BOT_TOKEN, WEBAPP_URL

# Словарь для хранения чатов, куда пользователь переслал сообщение
user_forwarded_chats = defaultdict(set)

# Количество требуемых пересылок
REQUIRED_FORWARDS = 5

async def start(update: Update, context: CallbackContext):
    # Запуск веб-приложения с кнопкой "Поделиться"
    keyboard = [
        [InlineKeyboardButton("Поделиться", web_app=WebAppInfo(WEBAPP_URL))]
    ]
    reply_markup = InlineKeyboardMarkup(keyboard)

    await update.message.reply_text(
        "Перешлите сообщение 5 раз в разные чаты и получите награду.",
        reply_markup=reply_markup
    )

async def track_forwarded_message(update: Update, context: CallbackContext):
    if update.message.forward_from_chat:
        user_id = update.message.from_user.id
        chat_id = update.message.chat.id

        # Проверяем, пересылалось ли уже сообщение в этот чат
        if chat_id not in user_forwarded_chats[user_id]:
            user_forwarded_chats[user_id].add(chat_id)

            await update.message.reply_text(
                f"Сообщение переслано в {len(user_forwarded_chats[user_id])} из {REQUIRED_FORWARDS} уникальных чатов."
            )

            if len(user_forwarded_chats[user_id]) >= REQUIRED_FORWARDS:
                await update.message.reply_text("Молодцы, вы выполнили условия!")
                # Сбрасываем счетчик после подтверждения выполнения задания
                user_forwarded_chats[user_id] = set()
        else:
            await update.message.reply_text(
                "Вы уже пересылали сообщение в этот чат. Перешлите его в другой чат."
            )
    else:
        await update.message.reply_text(
            "Это не пересланное сообщение из чата. Пожалуйста, пересылайте сообщения в разные чаты."
        )

if __name__ == '__main__':
    application = ApplicationBuilder().token(BOT_TOKEN).build()

    application.add_handler(CommandHandler('start', start))
    application.add_handler(MessageHandler(filters.ALL & ~filters.COMMAND, track_forwarded_message))

    print("Бот запущен!")
    application.run_polling()

2)index.html



  Telegram Web App

Hello, Telegram!

Ich verwende zum Weiterleiten einen einfachen Link https://t.me/dvachannel/143325 und es funktioniert gut auf meinem Laptop und Android, aber nicht auf dem iPhone.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/optimusfaber/telegram-windowopenurl-blank-works-strange-on-ios-3g6o?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3