File size: 1,735 Bytes
bda69cb b8703aa 34f795a b8703aa 34f795a b8703aa 34f795a b8703aa 34f795a b8703aa 34f795a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import streamlit as st
import google.generativeai as genai
import os
# --- BAGIAN AUTHENTICATION SEDERHANA ---
def check_password():
"""Mengembalikan True jika user memasukkan password yang benar."""
# Jika password belum diset di Secrets, anggap tidak perlu password (untuk dev)
if "APP_PASSWORD" not in os.environ:
return True
def password_entered():
if st.session_state["password"] == os.environ["APP_PASSWORD"]:
st.session_state["password_correct"] = True
del st.session_state["password"] # Hapus password dari session demi keamanan
else:
st.session_state["password_correct"] = False
if "password_correct" not in st.session_state:
# Tampilan Input Password Pertama Kali
st.text_input(
"Masukkan Password untuk Mengakses Bot:",
type="password",
on_change=password_entered,
key="password"
)
return False
elif not st.session_state["password_correct"]:
# Jika password salah
st.text_input(
"Password Salah. Coba lagi:",
type="password",
on_change=password_entered,
key="password"
)
return False
else:
# Password Benar
return True
# --- KODE UTAMA APLIKASI ---
if check_password():
# Taruh semua kode aplikasi Gemini Anda di bawah sini (indentasi masuk)
api_key = os.getenv("GEMINI_API_KEY")
genai.configure(api_key=api_key)
st.title("🤖 Bot Privat Saya")
st.success("Login Berhasil!")
user_input = st.text_input("Tanya Gemini:")
if user_input:
# Logika chat...
st.write(f"Menjawab: {user_input}...") |