Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

[PHP] 그누보드5 게시글 등록 텔레그램 Push 알림 플러그인

2022-05-26 by 편리

지난 주에 작성한 포스트를 바탕으로 그누보드5에서 게시글 등록 때 Telegram(텔레그램)에 Push 알림을 보내는 플러그인을 만들었다. 게시글 등록 때는 관리자에게 알림이 전송되고 댓글은 게시글 작성자에게 알림이 전송된다. 이 플러그인을 활용해서 그누보드5 메모 수신 등의 알림을 텔레그램으로 전송할 수 있는데 이것은 플러그인의 수정이 필요하다. 텔레그램으로 메세지를 전송하는 Class 는 아래와 같다.

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

/**
 * Author : chicpro (https://chicpro.dev)
 *
 * https://chicpro.dev/13536
 * https://chicpro.dev/13541
 * https://core.telegram.org/bots
 * https://core.telegram.org/bots/api#sendmessage
**/

class TELEGRAM
{
    private $apiURL;
    private $chatID;
    private $token;
    private $text;
    private $parseMode;

    public function __construct($token) {
        $this->token = $token;
        $this->apiURL = 'https://api.telegram.org/bot';        
        $this->parseMode = 'Markdown';
    }

    public function setChatID($chatID) {
        $this->chatID = $chatID;
    }

    public function setText($text) {
        $this->text = $text;
    }

    public function setParseMode($mode) {
        $this->parseMode = $mode;
    }

    public function sendMessage() {
        $url = $this->apiURL . $this->token . '/sendmessage?chat_id=' . $this->chatID . '&text=' . $this->text;
        if($this->parseMode && ($this->parseMode == 'HTML' || $this->parseMode == 'Markdown'))
            $url .= '&parse_mode=' . $this->parseMode;

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($ch, CURLOPT_TIMEOUT, 15);
        
        $response = curl_exec($ch);
        curl_close($ch);

        return $response;
    }
}

Telegram 플러그인 : telegram.push.zip


플러그인을 사용하기 위해서는 첨부된 파일을 다운로드 후 압축을 해제하여 각 디렉토리에 파일을 복사한다. config.php 파일을 열어 TELEGRAM_TOKEN 값을 설정해야 하는데 이것은 Push 알림을 전송할 메세지봇의 토큰이다. 봇의 토큰을 확인하는 것은 이전 포스트 https://chicpro.dev/13536 에 설명되어 있다. 또한 알림을 수신하기 위해서는 텔레그램 Chat ID를 확인해야 하는데 Chat ID는 포스트 https://chicpro.dev/13541 를 참고하면 된다. write_update.tail.skin.php, write_comment_update.tail.skin.php 파일을 사용하는 게시판 스킨 디렉토리에 복사하면 Push 알림이 전송된다. 회원별 Chat ID는 member 테이블의 mb_10 필드에 저장된 것으로 설정돼 있으며 config.php 파일에서 G5_TELEGRAM_CHAT_ID 값을 변경할 수 있다. 그리고 관리자 외에 사이트 방문자가 텔레그램 알림을 수신하기 위해서는 텔레그램에서 메세지봇을 검색한 후 아래 이미지와 같이 hello 등의 간단한 대화를 해야만 그 다음부터 알림이 수신된다.

(more…)
Continue Reading

Telegram(텔레그램) Chat ID 확인

2017-11-10 by 편리

이전 포스트에서 텔레그램 Chat ID를 확인하기 위해 복잡한 방법을 사용했다. 그런데 Chat ID만을 확인하기 위해서는 그와 같은 복잡한 방법대신 이제 설명하는 텔레그램봇을 이용하면 쉽게 해결할 수 있다. Chat ID 확인을 위해 텔레그램에서 @get_id_bot을 검색하고 이 봇을 통해 Chat ID를 확인한다. @get_id_bot 대화창을 열고 /my_id 를 입력하면 잠시 시간이 흐른 후 Chat ID를 확인할 수 있다. …

Telegram(텔레그램) 봇을 이용해 메세지 전송하기

2017-11-10 by 편리

Telegram(이하 텔레그램)에서 제공하는 Bot(봇)을 이용해 메세지를 전송하는 방법을 조사하면서 해당 내용을 순차적으로 정리한 것이다. 텔레그램 API를 통해 메세지를 전송하기 위해서는 봇생성 -> Token 확인 -> Chat ID 확인 -> 메세지 전송 의 과정으로 진행된다.

1. 메시지봇 생성

메세지봇을 생성하기 위해서는 텔레그램(https://web.telegram.org)에 접속한 후 botfather를 검색한다. 그런 다음 @BotFather 와 대화를 통해 메세지봇을 생성한다.

START 를 클릭하면 아래와 같이 안내 된다. 대화 내용대로 필요한 내용을 입력하면 봇 생성이 완료된다. (more…)

Continue Reading

Markdown 에디터 Typora

2017-11-10 by 편리

소스 관리를 위해 Github 등의 서비스와 업무툴인 Trello, Slack 등을 사용하다 보니 의외로 Markdown 형식으로 글을 작성해야 할 때가 있다. 작성할 때마다 검색해서 작성는데.. 이게 은근 귀찮은 작업이라서 Markdown 에디터를 검색했는데 물건(?)을 하나 건졌다. Typora라는 에디터로 윈도우는 물론 리눅스와 Mac까지 지원한다. Mac의 경우는 아직 베타버전이지만 사용하는 데는 지장이 없는 듯 하다. 개발 PC인 우분투 데스크톱에 …

[WP] 워드프레스 포스트에 사진의 EXIF 정보 플러그인

2017-11-15 by 편리

포스트 내용 중에 포함된 사진의 EXIF 정보를 출력하기 위해 테마 파일에 추가했던 코드를 따로 빼서 플러그인으로 만들었다. 워드프레스 플러그인은 이번이 처음이라 제대로 한 것인지 자신은 없지만 일단 나중을 위해서라도 기록해두는 것이 좋을 듯 하여 포스팅한다. 이름은 대충 post-exif-info 라고 했다. 아래는 플러그인 파일의 코드이다. <?php /** * @package Post EXIF Info * @version 1.0 */ …

Posts pagination

  • Previous
  • 1
  • …
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • …
  • 748
  • Next

Recent Posts

  • SK 세븐모바일 유심 셀프교체
  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes