#include "script_component.hpp" /* * Function: dragonfly_db_fnc_publish * Author: Creedcoder, J. Schmidt * Edit: 07.15.2024 * Copyright © 2024 Creedcoder, J. Schmidt, All rights reserved * * Do not edit without permission! * * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, * PO Box 1866, Mountain View, CA 94042 * * [Description] * Publish a message to a DragonflyDB channel. * The message will be routed through the CBA event system based on the subscription event type. * * Arguments: * 0: STRING - Channel name to publish to (default: "") * 1: ARRAY|STRING|NUMBER|BOOL - Data to publish (default: []) * * Return Value: * BOOLEAN - True if successful, false otherwise * * Examples: * ["global_chat", "Hello world!"] call dragonfly_db_fnc_publish * ["mission_updates", ["task_01", "SUCCEEDED", [2, 3, 4]]] call dragonfly_db_fnc_publish * * Public: Yes */ params [ ["_channel", "", [""]], ["_message", [], [[], "", 0, true]] ]; if (_channel isEqualTo "") exitWith { diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_publish' Invalid Input for Channel '%1'", _channel]; false }; private _args = [_channel, _message]; private _formattedArgs = _args apply { if (_x isEqualType "") then { str _x } else { _x } }; private _extensionArgs = _formattedArgs joinString ","; private _result = "ArmaDragonflyClient" callExtension ["publish", [_extensionArgs]]; diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_publish' Published message to channel '%1': '%2'", _channel, _message]; true