From 51d4bd09d59c0192a3eaa394c5a882478b97a4f9 Mon Sep 17 00:00:00 2001 From: Krille Date: Mon, 27 Jan 2025 13:06:25 +0100 Subject: [PATCH] feat: Set room state and account data via commands --- lib/src/utils/commands_extension.dart | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/src/utils/commands_extension.dart b/lib/src/utils/commands_extension.dart index 6f711e37..ac4923e4 100644 --- a/lib/src/utils/commands_extension.dart +++ b/lib/src/utils/commands_extension.dart @@ -303,6 +303,30 @@ extension CommandsClientExtension on Client { await unignoreUser(mxid); return null; }); + addCommand('setRoomState', (args) async { + final arguments = args.msg.split(' '); + final roomId = arguments.removeAt(0); + final eventType = arguments.removeAt(0); + final stateKey = arguments.removeAt(0); + final body = jsonDecode(arguments.join(' ')); + await setRoomStateWithKey(roomId, eventType, stateKey, body); + return null; + }); + addCommand('setAccountData', (args) async { + final arguments = args.msg.split(' '); + final eventType = arguments.removeAt(0); + final body = jsonDecode(arguments.join(' ')); + await setAccountData(userID!, eventType, body); + return null; + }); + addCommand('setRoomAccountData', (args) async { + final arguments = args.msg.split(' '); + final roomId = arguments.removeAt(0); + final eventType = arguments.removeAt(0); + final body = jsonDecode(arguments.join(' ')); + await setAccountDataPerRoom(userID!, roomId, eventType, body); + return null; + }); } }