HHSstudio
Femtopat
- Katılım
- 5 Aralık 2024
- Mesajlar
- 11
Daha fazla
- Sistem Özellikleri
- rtx 4060
i5 12. nesil
16gb ddr4 ram
1tb m2 ssd
500 gb hhd
240 hz monitör
- Cinsiyet
- Erkek
Python:
elif "youtube" in user_input.lower():
webbrowser.open("https://www.youtube.com") # YouTube açma.
print("YouTube açıldı.")
Python'da bukodu yazdım çalışıyor fakat kapamak için bir kod yazamadım, Google kapa dediğimde kapasın.
Kodun tamamı:
Kod:
İmport requests.
İmport JSON.
İmport speech_recognition as sr.
From gtts import gtts.
İmport playsound.
İmport OS.
İmport time.
From datetime import datetime, timedelta.
İmport re.
İmport webbrowser.
# Openweathermap API URL ve anahtar.
Weather_api_key = "apıkey" # openweathermap API anahtarınızı buraya ekleyin.
Weather_api_url = "apıkey"
# API URL ve anahtar.
Api_url = "apıkey" # openrouter API URL'si.
Api_key = "apıkey" # llama API anahtarınızı buraya ekleyin.
# Gün adlarının İngilizce'den Türkçeye çevrilmesi için sözlük.
Day_translation = {
"Monday": "pazartesi",
"Tuesday": "salı",
"Wednesday": "çarşamba",
"Thursday": "perşembe",
"Friday": "cuma",
"Saturday": "cumartesi",
"Sunday": "pazar"
}
# Kullanıcıdan gelen sesli komutu metne çevirme.
Def listen_to_user():
Recognizer = sr.Recognizer()
With sr.Microphone() as source:
Recognizer. Adjust_for_ambient_noise(Source) # ortam gürültüsüne ayarlama.
Audio = recognizer. Listen(Source)
Try:
User_input = recognizer. Recognize_google(Audio, language="TR-TR") # Türkçe dil desteği.
Print(F"siz: {user_input}")
Return user_input.
Except sr. Unknownvalueerror:
Print("sesi anlayamadım. tekrar edin.")
Return ""
Except sr. Requesterror as e:
Print(F"Google speech API servisi kullanılamıyor; {e}")
Return ""
# API'ye istek gönderme ve llama yanıtını alma.
Def get_llama_response(user_input):
Headers = {
"Authorization": F"bearer {api_key}",
"Content-type": "application/json"
}
Data = {
"Model": "meta-llama/llama-3.1-70b-instruct:free", # llama modelini seçiyoruz.
"Messages": [{"role": "user", "content": user_input}]
}
Try:
# API'ye post isteği gönder.
Response = requests. Post(api_url, headers = headers, data = JSON. Dumps(data))
response.raise_for_status() # API isteği hata verirse exception fırlatır.
Response_data = response.json()
# Yanıtı kontrol et.
İf 'choices'in response_data and len(response_data['choices']) > 0:
Return response_data['choices'][0]['message']['content']
Elif "error" in response_data:
Return F"API hatası: {response_data['error']['message']}"
Else:
Return "yanıt alınamadı veya beklenen formatta değil."
Except requests. Exceptions. Requestexception as e:
# API limit aşımı hatası (429) durumunda bekleyebiliriz.
İf '429'in str(e):
Print("API limitine ulaşıldı. Bir süre bekleyin ve tekrar deneyin.")
Time. Sleep(10) # 10 saniye bekleme süresi.
Return "API limit aşımı. tekrar deneyin."
Return F"bir hata oluştu: {e}"
# Hava durumu sorgulama fonksiyonu.
Def get_weather(City):
Params = {
'Q': City, # şehir adı.
'Appid': Weather_api_key, # API anahtarınız.
'Lang': 'TR', # Türkçe yanıt.
'Units': 'metric' # celsius (santigrat) cinsinden sıcaklık.
}
Try:
Response = requests. Get(weather_api_url, params = params)
Data = response.json()
İf response. Status_code == 200:
Temp = data['main']['temp']
Description = data['weather'][0]['description']
Return F"şu anda İstanbul'da hava {description} ve sıcaklık {temp}°c."
Else:
Return "hava durumu bilgisi alınamadı."
Except exception as e:
Return F"bir hata oluştu: {e}"
# Metni sese çevirme ve sesi oynatma.
Def text_to_speech(text):
Try:
Time. Sleep(0.01) # yanıt verilmeden önce 50 milisaniye bekle.
TTS = gtts(text = text, lang='TR', Slow = false) # Türkçe dilinde hızlı sesli yanıt.
TTS. Save("response. MP3")
Playsound. Playsound("response. MP3")
OS. Remove("response. MP3") # ses dosyasını sildikten sonra temizle.
Except exception as e:
Print(F"sesli yanıt oluşturulurken bir hata oluştu: {e}")
# Saat bilgisini alma.
Def get_current_time():
Now = datetime.now()
Return now. Strftime("%h:%m") # saat ve dakikayı döndürür.
# Alarm kurma.
Def set_alarm(minutes):
Print(F"{minutes} dakika sonra alarm kuruldu.")
Time. Sleep(minutes * 60) # dakika cinsinden bekle.
Playsound. Playsound("alarm. MP3") # alarm sesi çal.
# Gün ve tarih sorgulama.
Def get_day_of_week(date_str):
Try:
Date = datetime. Strptime(date_str, "%y-%m-%d")
Return date. Strftime("%a") # örneğin: Monday, tuesday vb.
except valueerror:
Return "geçersiz tarih formatı. yyyy-AA-gg formatında girin."
# Yarının hangi gün olduğunu soran fonksiyon.
Def get_tomorrow_day():
Tomorrow = datetime.now() + timedelta(days = 1) # yarınki tarih.
Day_in_english = tomorrow. Strftime("%a") # İngilizce gün adı.
Return day_translation. Get(day_in_english, day_in_english) # Türkçeye çevir ve döndür.
# Bugünün hangi gün olduğunu soran fonksiyon.
Def get_today_day():
Today = datetime.now() # bugünkü tarih.
Day_in_english = today. Strftime("%a") # İngilizce gün adı.
Return day_translation. Get(day_in_english, day_in_english) # Türkçeye çevir ve döndür.
# Günün sabah mı akşam mı olduğunu kontrol etme.
Def check_time_of_day():
Current_hour = datetime.now().hour
İf current_hour >= 8 and current_hour < 12:
Return "sabah"
Elif current_hour >= 12 and current_hour < 18:
Return "öğleden sonra"
Else:
Return "akşam"
# Saat 8'de alarm çalması.
Def check_for_alarm():
Current_hour = datetime.now().hour
İf current_hour == 8:
Playsound. Playsound("kalk. MP3") # kalkma alarmını çalar.
# Yapılacaklar listesi için liste.
Todo_list = []
# Yapılacaklar listesine görev ekleme.
def add_task_to_list(task):
todo_list.append(task)
text_to_speech(f"{task} görevini listeye ekledim.")
# Yapılacaklar listesini okuma.
def read_todo_list():
if todo_list:
tasks = "\n".join(todo_list)
text_to_speech(f"Yapılacaklar listeniz şu şekilde: {tasks}")
else:
text_to_speech("Yapılacaklar listeniz boş.")
# Ana fonksiyon.
def main():
playsound.playsound("ding.mp3") # Ding sesini çalar.
print("Yapay zeka ile konuşmaya başlamak için bir şeyler söyleyin! ('çıkış' diyerek çıkabilirsiniz.)")
print("Sizi dinliyorum...")
exit_keywords = ["hoşçakal", "görüşürüz", "kendine iyi bak"]
While true:
User_input = listen_to_user() # Kullanıcıdan sesli giriş al.
check_for_alarm() # Saat 8 alarmı kontrol et.
İf "ramiz" in user_input.lower():
Playsound. Playsound("kalk. MP3")
Print("kalkma alarmı çaldı!") # alarm çaldığında ekrana mesaj yazdır.
Elif any(keyword in user_input.lower() for keyword in exit_keywords):
Print("hoşça kal! Kendine iyi bak!")
Break.
Elif "Google" in user_input.lower():
webbrowser.open("https://www.google.com") # Google açma.
Print("Google açıldı.")
Elif "Google" in user_input.lower():
webbrowser.close("https://www.google.com") # Google açma.
Print("Google açıldı.")
Elif "YouTube" in user_input.lower():
webbrowser.open("YouTube") # YouTube açma.
Print("YouTube açıldı.")
Elif "hava durumu" in user_input.lower():
Weather_response = get_weather("İstanbul") # hava durumu sorgulama.
Text_to_speech(weather_response)
Elif "saat" in user_input.lower():
Current_time = get_current_time()
Text_to_speech(F"şu an saat {current_time}.")
Elif "yarın" in user_input.lower():
Tomorrow_day = get_tomorrow_day()
Text_to_speech(F"yarın {tomorrow_day}.")
Elif "bugün" in user_input.lower():
Today_day = get_today_day()
Text_to_speech(F"bugün {today_day}.")
Elif "alarm kur" in user_input.lower():
Minutes = int(re. Search(r"\d+", user_input).group()) # Dakika sayısını al.
Set_alarm(minutes) # alarm kurma.
Elif "görev ekle" in user_input.lower():
Task = user_input.lower().replace("görev ekle", "").strip()
Add_task_to_list(task)
Elif "görevleri oku" in user_input.lower():
read_todo_list()
Else:
Llama_response = get_llama_response(user_input) # llama API yanıtı alma.
Text_to_speech(llama_response) # yanıtı sesli yanıt olarak çal.
İf name == "main":
main()
Son düzenleyen: Moderatör: