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.