You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2 KiB

extends MajorityJudgmentChatCommandJudgmentsProvider
class_name MajorityJudgmentAndroidSmsProvider
var AndroidSmsReceiver
func start_providing():
if Engine.has_singleton("AndroidSmsReceiver"):
AndroidSmsReceiver = Engine.get_singleton("AndroidSmsReceiver")
AndroidSmsReceiver.start_receiving()
var connected = AndroidSmsReceiver.connect(
"sms_received",
self, "__on_sms_received"
)
assert(connected == OK, "AndroidSmsReceiver must be connectable.")
else:
printerr(
"[MajorityJudgmentAndroidSmsProvider] " +
"AndroidSmsReceiver Singleton is not available."
)
func stop_providing():
if AndroidSmsReceiver:
AndroidSmsReceiver.stop_receiving()
AndroidSmsReceiver.disconnect("sms_received", self, "__on_sms_received")
func __on_sms_received(sms:Dictionary):
# # I. Log it to file
# var log_filepath = "user://sms_%s.log" % [
# self.unique_session_identifier,
# ]
# var log_file = File.new()
# if log_file.file_exists(log_filepath):
# log_file.open(log_filepath, File.READ_WRITE)
# log_file.seek_end()
# OS.get_executable_path()
# else:
# log_file.open(log_filepath, File.WRITE_READ)
# log_file.store_csv_line([user_name, text], ":")
# log_file.close()
# II. Process it
process_chat_command(sms['author'], sms['message'])