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
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'])
|