import random
from datetime import datetime
installed_apps = {
"calculator" : "calculator.exe" ,
"notepad" : "notepad.exe" ,
"paint" : "mspaint.exe"
}
installed_games = [ "hades" , "minecraft" , "doom eternal" ]
def chatbot( command) :
command = command.lower ( )
if command in [ "hi" , "hello" ] :
return "Hi there! How can I help you?"
elif "open" in command:
app_name = command.replace ( "open" , "" ) .strip ( )
if app_name in installed_apps:
return f"Simulated: Opening {app_name.title()}"
else :
return f"I can't find '{app_name}' in installed apps."
elif "what time is it" in command:
now = datetime .now ( )
return f"It's currently {now.strftime('%I:%M %p')}"
elif "suggest a game" in command or "pick a game" in command:
if installed_games:
game = random .choice ( installed_games)
return f"How about playing {game.title()}?"
else :
return "No games found."
elif "bye" in command:
return "Goodbye! Have a great day."
else :
return "Sorry, I don't understand that."
if __name__ == "__main__" :
for prompt in [ "hello" , "suggest a game" , "what time is it" , "open calculator" , "bye" , "exit" ] :
print ( f"You: {prompt}" )
if prompt.lower ( ) in [ "exit" , "quit" ] :
print ( "Assistant: Session ended." )
break
print ( f"Assistant: {chatbot(prompt)}" )
aW1wb3J0IHJhbmRvbQpmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQoKaW5zdGFsbGVkX2FwcHMgPSB7CiAgICAiY2FsY3VsYXRvciI6ICJjYWxjdWxhdG9yLmV4ZSIsCiAgICAibm90ZXBhZCI6ICJub3RlcGFkLmV4ZSIsCiAgICAicGFpbnQiOiAibXNwYWludC5leGUiCn0KCmluc3RhbGxlZF9nYW1lcyA9IFsiaGFkZXMiLCAibWluZWNyYWZ0IiwgImRvb20gZXRlcm5hbCJdCgpkZWYgY2hhdGJvdChjb21tYW5kKToKICAgIGNvbW1hbmQgPSBjb21tYW5kLmxvd2VyKCkKICAgIGlmIGNvbW1hbmQgaW4gWyJoaSIsICJoZWxsbyJdOgogICAgICAgIHJldHVybiAiSGkgdGhlcmUhIEhvdyBjYW4gSSBoZWxwIHlvdT8iCiAgICBlbGlmICJvcGVuIiBpbiBjb21tYW5kOgogICAgICAgIGFwcF9uYW1lID0gY29tbWFuZC5yZXBsYWNlKCJvcGVuIiwgIiIpLnN0cmlwKCkKICAgICAgICBpZiBhcHBfbmFtZSBpbiBpbnN0YWxsZWRfYXBwczoKICAgICAgICAgICAgcmV0dXJuIGYiU2ltdWxhdGVkOiBPcGVuaW5nIHthcHBfbmFtZS50aXRsZSgpfSIKICAgICAgICBlbHNlOgogICAgICAgICAgICByZXR1cm4gZiJJIGNhbid0IGZpbmQgJ3thcHBfbmFtZX0nIGluIGluc3RhbGxlZCBhcHBzLiIKICAgIGVsaWYgIndoYXQgdGltZSBpcyBpdCIgaW4gY29tbWFuZDoKICAgICAgICBub3cgPSBkYXRldGltZS5ub3coKQogICAgICAgIHJldHVybiBmIkl0J3MgY3VycmVudGx5IHtub3cuc3RyZnRpbWUoJyVJOiVNICVwJyl9IgogICAgZWxpZiAic3VnZ2VzdCBhIGdhbWUiIGluIGNvbW1hbmQgb3IgInBpY2sgYSBnYW1lIiBpbiBjb21tYW5kOgogICAgICAgIGlmIGluc3RhbGxlZF9nYW1lczoKICAgICAgICAgICAgZ2FtZSA9IHJhbmRvbS5jaG9pY2UoaW5zdGFsbGVkX2dhbWVzKQogICAgICAgICAgICByZXR1cm4gZiJIb3cgYWJvdXQgcGxheWluZyB7Z2FtZS50aXRsZSgpfT8iCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcmV0dXJuICJObyBnYW1lcyBmb3VuZC4iCiAgICBlbGlmICJieWUiIGluIGNvbW1hbmQ6CiAgICAgICAgcmV0dXJuICJHb29kYnllISBIYXZlIGEgZ3JlYXQgZGF5LiIKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuICJTb3JyeSwgSSBkb24ndCB1bmRlcnN0YW5kIHRoYXQuIgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIGZvciBwcm9tcHQgaW4gWyJoZWxsbyIsICJzdWdnZXN0IGEgZ2FtZSIsICJ3aGF0IHRpbWUgaXMgaXQiLCAib3BlbiBjYWxjdWxhdG9yIiwgImJ5ZSIsICJleGl0Il06CiAgICAgICAgcHJpbnQoZiJZb3U6IHtwcm9tcHR9IikKICAgICAgICBpZiBwcm9tcHQubG93ZXIoKSBpbiBbImV4aXQiLCAicXVpdCJdOgogICAgICAgICAgICBwcmludCgiQXNzaXN0YW50OiBTZXNzaW9uIGVuZGVkLiIpCiAgICAgICAgICAgIGJyZWFrCiAgICAgICAgcHJpbnQoZiJBc3Npc3RhbnQ6IHtjaGF0Ym90KHByb21wdCl9Iik=