/datum/computer/file/computer_program/messenger name = "Messenger" size = 8.0 var/messages = null var/screen_name = "User" //To-do: take screen_name from inserted id card?? //Saving log to file datum return_text() if(..()) return var/dat = "Close | " dat += "Quit
" dat += "SpaceMessenger V4.1.2
" dat += "Send Message" dat += " | Clear" dat += " | Print" dat += " | Name:[src.screen_name]
" dat += messages dat += "" return dat Topic(href, href_list) if(..()) return if(href_list["send_msg"]) var/t = input(usr, "Please enter messenger", src.id_tag, null) as text t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) if (!t) return if (!in_range(src.master, usr)) return var/datum/signal/signal = new signal.data["type"] = "message" signal.data["data"] = t signal.data["sender"] = src.screen_name src.messages += "→ You:
[t]
" peripheral_command("send signal", signal) if(href_list["func_msg"]) switch(href_list["func_msg"]) if("clear") src.messages = null if("print") var/datum/signal/signal = new signal.data["data"] = src.messages signal.data["title"] = "Chatlog" peripheral_command("print", signal) //if("save") //TO-DO if(href_list["set_name"]) var/t = input(usr, "Please enter screen name", src.id_tag, null) as text t = copytext(sanitize(t), 1, 20) if (!t) return if (!in_range(src.master, usr)) return src.screen_name = t src.master.add_fingerprint(usr) src.master.updateUsrDialog() return receive_command(obj/source, command, datum/signal/signal) if(..() || !signal) return if(command == "radio signal") switch(signal.data["type"]) if("message") var/sender = signal.data["sender"] if(!sender) sender = "Unknown" src.messages += "← From [sender]:
[signal.data["data"]]
" if(src.master.active_program == src) playsound(src.master.loc, 'twobeep.ogg', 50, 1) src.master.updateUsrDialog() return