Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function sendMessage(Request $request)
- {
- $AMQPUser = 'guest';
- $AMQPPass = 'guest';
- $response = [];
- $statusCode = 200;
- $msgType = "text";
- $messengers = ['telegram', 'skype', 'viber', 'whatsapp', 'imessage'];
- $companyAcceptedMessengers = [];
- $subscriberMessenger = "";
- $validation = \Validator::make($request->all(), [
- 'message' => 'required',
- 'c_token' => 'required',
- ]);
- if(!$validation->fails()) {
- $company = Subscription::where('company_token', $request->c_token)->get()->toArray();
- foreach ($company[0] as $key => $value) {
- if(substr($key, 0, 3) == 'has') {
- if($value) {
- $companyAcceptedMessengers[] = explode("_", $key)[1];
- }
- }
- }
- if($company) {
- $subscriber = Subscriber::where('id', $request->uid)->get()->toArray();
- foreach ($subscriber[0] as $key => $value) {
- if(in_array(
- explode("_", $key)[0], $companyAcceptedMessengers)
- && $value) {
- $subscriberMessenger = explode("_", $key)[0];
- continue;
- }
- }
- if($subscriberMessenger) {
- $bot = Bot::where('id', $company[0]['bot_id'])->get();
- $connection = new AMQPStreamConnection('localhost', 5672, $AMQPUser, $AMQPPass);
- $channel = $connection->channel();
- $channel->queue_declare('msg_telegram', false, false, false, false);
- $msgData = new AMQPMessage(
- json_encode([
- "m_userid" => $subscriber[0][$subscriberMessenger.'_id'],
- "m_chatid" => $bot[0][$subscriberMessenger.'_id'],
- "m_token" => $bot[0][$subscriberMessenger.'_token'],
- "m_message"=> $request->message,
- "m_type" => $msgType
- ])
- );
- $channel->basic_publish($msgData, '', 'msg_telegram');
- $response = "Отправлено";
- $channel->close();
- $connection->close();
- } else {
- // subscriber not registered
- }
- } else {
- // bad subscription api token
- }
- } else {
- // fails
- }
- /*
- return view('welcome', [
- 'response' => response()->json($response, 200, [], JSON_UNESCAPED_UNICODE)
- ]);
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement