SPRING :: NOTE

[PHP] 텔레그램 봇 메시지 생성하기 본문

Development Language/WEB

[PHP] 텔레그램 봇 메시지 생성하기

RAYZIE 2016. 9. 19. 11:45
반응형
?php
/*
https://telegram.me/botfather 접속하여 봇아빠를 채팅창에 호출 하고 다음 커맨드를 입력
 
-------------------------------
봇이름 /newbot
봇실재아이디(끝에 bot을 붙여준다)
/token
/setabouttext
봇정보 안내문구
/setdescription
접속문구
-------------------------------
 
*/
header('Content-Type: text/html; charset=utf-8');
 
# 기본환경설정
define('TOKEN_KEY','111:AAA');
define('BASE_URL', 'https://api.telegram.org/bot'.TOKEN_KEY);
 
 
# CURL Function
function GetCurl($msg) { /*$data=array()) {*/
	$url = BASE_URL.'/sendMessage?chat_id=[yout chat id]&text='.urlencode($msg);
	// 서버로 전송 및 결과 반환
	$rest = curl_init();
	curl_setopt($rest, CURLOPT_URL, $url);
	curl_setopt($rest, CURLOPT_POST, false);
	curl_setopt($rest, CURLOPT_RETURNTRANSFER, true);
	$Result = curl_exec($rest);
	curl_close($rest);
	
	return json_decode($Result, true);
}

$msg = $_GET['msg'];
$Result = GetCurl(BASE_URL.'/sendMessage?chat_id=[your chat id]&text='.urlencode($msg));

if($_GET['type'] == 'room') {
	
	# 채팅룸 추출
	$Room = GetCurl(BASE_URL.'/getUpdates?limit=100');
	$Room_id = array();
	foreach($Room['result'] as $k=-->$v) {
	
		$Room_id[] = $v['message']['chat']['id'];
	}
	$Room_id = array_unique($Room_id);
	$Room_id = array_values($Room_id);
	
	var_dump($Room_id);
	
	var_dump($Room);
} else {
 
	# 지정발송
	if($_GET['room_id']) $Room_id = $_GET['room_id'];
	else $Room_id = array('11','22', '33');
	
	if($_GET['msg']) $msg = $_GET['msg'];
	else $msg = date('Y-m-d H:i:s');
	
	if(sizeof($Room_id) > 0) {
		# 발송하기

		foreach($Room_id as $k=>$v) {
			
			$Result = GetCurl(BASE_URL.'/sendMessage?chat_id='.$v.'&text='.urlencode($msg));
			print_r($Result);
		}
	}
	else if(is_array($Room_id) === false && $Room_id) {
		$Result = GetCurl(BASE_URL.'/sendMessage?chat_id='.$Room_id.'&text='.urlencode($msg));
		print_r($Result);
		
	}
}


반응형
Comments