$phones = []; $secret = ''; $text = ''; $user = ''; $Command = new CommandPosix(); $Command->appendHelpParameter('show help'); $Command->appendParameter(new Option('from', 'f', 'sender alpha-name', Option::TYPE_STRING, true), function ($name, $value) use(&$from) { $from = (string) $value; }); $Command->appendParameter(new Option('phone', 'p', 'receiver phone or phones (comma-separated)', Option::TYPE_STRING, true), function ($name, $value) use(&$phones) { $phones = explode(',', $value); }); $Command->appendParameter(new Option('secret', 's', 'secret key', Option::TYPE_STRING, true), function ($name, $value) use(&$secret) { $secret = (string) $value; }); $Command->appendParameter(new Option('text', 't', 'message text', Option::TYPE_STRING, true), function ($name, $value) use(&$text) { $text = (string) $value; }); $Command->appendParameter(new Option('user', 'u', 'sender login', Option::TYPE_STRING, true), function ($name, $value) use(&$user) { $user = (string) $value; }); try { $Command->parse(true); $Message = new Message($text, true); $Message->setPhones($phones); $Client = new Client($from, $user, $secret); $Result = $Client->send($Message); printf("%s\n", (string) $Result); } catch (RequiredOptionException $Ex) { $Command->displayHelp(); }