Hello, Telegram!

I'm using a simple link https://t.me/dvachannel/143325 to forward and it works fine on my laptop and android, but not on 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"}}
"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > telegram window.open(url, &#_blank&#); works strange on ios

telegram window.open(url, &#_blank&#); works strange on ios

Published on 2024-11-02
Browse:315

telegram window.open(url,

I'm making a telegram bot and I want to add option of forwarding some info from miniapp to a chat. I decided to use window.open(url, '_blank'); and it worked fine until I tried it on my iPhone. Instead of forwarding I got Share (it's a big deal, I need exactly to forward a message). I have some ideas how to deal with it, but they are not user friendly. Do you have any suggestions here?

I have two simple parts: 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!

I'm using a simple link https://t.me/dvachannel/143325 to forward and it works fine on my laptop and android, but not on iPhone.

Release Statement This article is reproduced at: https://dev.to/optimusfaber/telegram-windowopenurl-blank-works-strange-on-ios-3g6o?1 If there is any infringement, please contact [email protected] to delete it
Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3