Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

라이믹스에서 글쓰면 웹기반 매신저쪽으로 (웹훅) 으로 알림을 보내려고 하는데 어렵네요

포인트 게시판에 올라온 텔레그램 알림 에드온을 수정해서 웹훅으로 쓰려고 하는데 몇일째 해메고 있습니다.

curl 작동방법을 몰라 안되네요

 

사용 에드온은 올라와있는 boardActivityNotification 에드온에 텔레그램 알림 소스입니다.
$command = "curl -k -d chat_id=".$chat_id." -d \"text=".$newtgmsg."\" https://api.telegram.org/bot".$token."/sendMessage";

 

아래 처럼 하면 서버까지는 보내는데 매신저에 안써지네요 

$command = "curl -X POST -H 'Content-Type:application/json' -d \"text=".$newtgmsg."\" https://웹훅주소"."/sendMessage";

어떻게 하면 잘 될까요?

 

php와 curl 처음 하는거라 잘 안되네요

 

 

  • profile

    1. 저렇게 $command를 작성한 후 어떻게 실행하고 있나요? exec? shell_exec? 어떤 함수든지 결과가 뭐라고 나오는지 찍어봐야 왜 안되는지 알 수 있겠지요.

    2. 사용자가 입력한 메시지를 저렇게 명령줄에 바로 집어넣으면 해킹당합니다.

    3. 터미널에서 입력하는 curl 명령 말고 PHP에서 curl 호출하는 방법이 따로 있으니 검색해 보세요. 이걸 사용하면 에러 발생시 결과를 찍어보기도 편리하고, 보안성 면에서도 훨씬 더 안전해요.

  • profile
    boardActivityNotificatio.php 파일에 들어 있는 소스 에 실행 되는 부분인데요
    아래 부분은 해당 소스가 들어가는 일부분이
    ------------------------------------------------------------------------------------------------

    $newtgmsg = $newtgmsg."\r\n";
    $newtgmsg = $newtgmsg.getNotEncodedFullUrl('', 'mid', $data->mid, 'document_srl', $document_srl)."\r\n";
    }

    $chat_id = $addon_info->chat_id;
    $token = $addon_info->bot_token;

    $command = "curl -k -d chat_id=".$chat_id." -d \"text=".$newtgmsg."\" https://api.telegram.org/bot".$token."/sendMessage";
    $result = shell_exec($command);
    }
    ------------------------------------------------------------------------------------------------
    이 부분중 php로 실행 되네요
  • profile profile
    대댓글을 쓰셔야 알림이 옵니다.

    shell_exec 결과 $result가 뭐라고 나오는지 확인하셔야겠네요. API에 접속을 못 하고 있는 건지, 아니면 API에 접속은 했는데 어떤 오류 메시지가 뜨고 있는 건지, 그것도 아니면 메시지 내용에 문제가 있는 건지...
  • ?
    php로 소스 작성하시기 전에 먼저 컴맨드 라인에서 직접 curl 실행해서 테스트를 해보시는게 나을듯 싶네요. 그래야 어느쪽 문제인지 파악이 쉽겠죠.