Neler yeni
Türkiye’nin Lider Kripto Para Forumu

Blockchain dünyasının Türkçe Wikipedia'sına hoş geldiniz!

Hemen ücretsiz üye olun ve kayıt olduğunuz anda coin kazanmaya başlayın. Kendi konularınızı paylaşın, diğer üyelerle etkileşim kurun ve dilediğiniz zaman coinlerinizi çekin.

Katılmak için şimdi harekete geçin!

Telegram Mini App nasıl yapılır ?

Ben tapswap benzeri oyun yapmak istiyorum react ile ama youtube dan kaynak bulamadım ilgili konu ile ilgili sizin bildiğiniz kaynaklar varmı?

(tg docs çok karışık önermeyin lütfen)
 
detaylı anlatan bir kaynak görmedim ben.
kendi geliştirdiğim vuejs ile idle game bir botum var bunu paylaşamam,
fakat örnek olması açısından forumu açan bir botum var webapp olarak.

bot : https://t.me/satoshiturk_bot

Python:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, WebAppInfo
from telegram.ext import Application, CommandHandler, ContextTypes, CallbackContext
import base64
import logging


logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

logger = logging.getLogger(__name__)

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    try:
        telegram_id = update.effective_user.id
        if telegram_id is None:
            logger.error("Telegram ID not found.")
            await update.message.reply_text("Error: Could not retrieve your Telegram ID.")
            return

        """user id alıp base64 ile şifreleme işlemi."""
        username = update.effective_user.username or f"Guest-{base64.urlsafe_b64encode(str(telegram_id).encode()).decode()}"


       """burada get ile telegram_id gönderebilirsiniz."""
        url = f"https://satoshiturk.com/koin-forumu/"
        keyboard = [[InlineKeyboardButton("SatoshiTURK Start", web_app=WebAppInfo(url=url))]]
        reply_markup = InlineKeyboardMarkup(keyboard)

        await update.message.reply_text('Foruma giriş için tıklayın :', reply_markup=reply_markup)
    except Exception as e:
        logger.error(f"An error occurred: {e}")
        await update.message.reply_text("An error occurred. Please try again later.")

def main() -> None:
    application = Application.builder().token('TOKENBURAYA').build()
    application.add_handler(CommandHandler('start', start))
    application.run_polling()

if __name__ == '__main__':
    main()


TOKENBURAYA yuazan yere bot tokeni ekleyin lütfen.

bu tamamen get ile forumu açan bir bot sadece başka bir esprisi yok.

bu uygulamanın sürekli çalışması gerekiyor.

username falan kaydı yok zamanında test için yazmıştım mantık çok basit aslında.
 
Son düzenleme:
detaylı anlatan bir kaynak görmedim ben.
kendi geliştirdiğim vuejs ile idle game bir botum var bunu paylaşamam,
fakat örnek olması açısından forumu açan bir botum var webapp olarak.

bot : https://t.me/satoshiturk_bot

Python:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, WebAppInfo
from telegram.ext import Application, CommandHandler, ContextTypes, CallbackContext
import base64
import logging


logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

logger = logging.getLogger(__name__)

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    try:
        telegram_id = update.effective_user.id
        if telegram_id is None:
            logger.error("Telegram ID not found.")
            await update.message.reply_text("Error: Could not retrieve your Telegram ID.")
            return

        """user id alıp base64 ile şifreleme işlemi."""
        username = update.effective_user.username or f"Guest-{base64.urlsafe_b64encode(str(telegram_id).encode()).decode()}"


       """burada get ile telegram_id gönderebilirsiniz."""
        url = f"https://satoshiturk.com/koin-forumu/"
        keyboard = [[InlineKeyboardButton("SatoshiTURK Start", web_app=WebAppInfo(url=url))]]
        reply_markup = InlineKeyboardMarkup(keyboard)

        await update.message.reply_text('Foruma giriş için tıklayın :', reply_markup=reply_markup)
    except Exception as e:
        logger.error(f"An error occurred: {e}")
        await update.message.reply_text("An error occurred. Please try again later.")

def main() -> None:
    application = Application.builder().token('TOKENBURAYA').build()
    application.add_handler(CommandHandler('start', start))
    application.run_polling()

if __name__ == '__main__':
    main()


TOKENBURAYA yuazan yere bot tokeni ekleyin lütfen.

bu tamamen get ile forumu açan bir bot sadece başka bir esprisi yok.

bu uygulamanın sürekli çalışması gerekiyor.

username falan kaydı yok zamanında test için yazmıştım mantık çok basit aslında.

jocam şu kısım nasıl yapılıyor ?
 

Ekli dosyalar

  • Ekran görüntüsü 2024-06-29 115012.webp
    Ekran görüntüsü 2024-06-29 115012.webp
    2,4 KB · Görüntüleme: 59
detaylı anlatan bir kaynak görmedim ben.
kendi geliştirdiğim vuejs ile idle game bir botum var bunu paylaşamam,
fakat örnek olması açısından forumu açan bir botum var webapp olarak.

bot : https://t.me/satoshiturk_bot

Python:
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, WebAppInfo
from telegram.ext import Application, CommandHandler, ContextTypes, CallbackContext
import base64
import logging


logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

logger = logging.getLogger(__name__)

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    try:
        telegram_id = update.effective_user.id
        if telegram_id is None:
            logger.error("Telegram ID not found.")
            await update.message.reply_text("Error: Could not retrieve your Telegram ID.")
            return

        """user id alıp base64 ile şifreleme işlemi."""
        username = update.effective_user.username or f"Guest-{base64.urlsafe_b64encode(str(telegram_id).encode()).decode()}"


       """burada get ile telegram_id gönderebilirsiniz."""
        url = f"https://satoshiturk.com/koin-forumu/"
        keyboard = [[InlineKeyboardButton("SatoshiTURK Start", web_app=WebAppInfo(url=url))]]
        reply_markup = InlineKeyboardMarkup(keyboard)

        await update.message.reply_text('Foruma giriş için tıklayın :', reply_markup=reply_markup)
    except Exception as e:
        logger.error(f"An error occurred: {e}")
        await update.message.reply_text("An error occurred. Please try again later.")

def main() -> None:
    application = Application.builder().token('TOKENBURAYA').build()
    application.add_handler(CommandHandler('start', start))
    application.run_polling()

if __name__ == '__main__':
    main()


TOKENBURAYA yuazan yere bot tokeni ekleyin lütfen.

bu tamamen get ile forumu açan bir bot sadece başka bir esprisi yok.

bu uygulamanın sürekli çalışması gerekiyor.

username falan kaydı yok zamanında test için yazmıştım mantık çok basit aslında.

hocam zaten attığınız kodu yazacak seviyeye gelmiştim sadece oyun mantığını çözemedim onuda hallettim. elon abiyi kullanrak birşeyler denedim 😀 son olarak dediğim kısım ayarlardan yapılıyrmuş yaptım hocam teşekkürler.

Nasıl yapıldığını merak eden varsa BotFater a girin daya sonra
/mybots diyin
eklemek istediğiniz botu seçin
daha sonra "Menu Button" kısmında tıklayın sizden link isteyecek web app inizin linkini atın daha sonra isim isteyecek onuda yazarsanız bitiyor.
 

Ekli dosyalar

  • Ekran görüntüsü 2024-06-29 173321.webp
    Ekran görüntüsü 2024-06-29 173321.webp
    52,4 KB · Görüntüleme: 54
Mini Web App in mantığını burdan çözebilirsiniz https://www.youtube.com/watch?v=FCHNnZ2KDUQ
mantık basit ilkönce bir website yapıyorsunuz daha sonra paylaşıp telegram kısmında o linki webview ediyorsunuz
aslında o kadar basit değil mi desek backend'e göre değişiyor. şuan mesela benim yaptığım app baya yordu bizi fakat güzel gidiyor.
ön tarafta basit bir şey görünebilir fakat arka tarafta projeye göre ufak tefek problemlerde olabiliyor.
genel manada basit bir şekilde düşünürseniz sorun yok fakat bir hamster tapswap yescoin gibi projeler aklınızda varsa şöyle bir düşünün bir arge yapın derim.
 
Son düzenleme:
aslında o kadar basit değil mi desek backend'e göre değişiyor. şuan mesela benim yaptığım app baya yordu bizi fakat güzel gidiyor.
ön tarafta basit bir şey görünebilir fakat arka tarafta projeye göre ufak tefek problemlerde olabiliyor.
genel manada basit bir şekilde düşünürseniz sorun yok fakat bir hasmter tapswap yescoin gibi projeler aklınızda varsa şöyle bir düşünün bir arge yapın derim.
haklısınız hocam
 

Forum istatistikleri

Konular
14.087
Mesajlar
70.210
Kullanıcılar
7.043
Son üye
BaşbuğCcC
Geri
Üst