️ 여기에서 이 라이브러리의 새 버전을 확인하세요.
세줄의 코드로 로봇을 만들어보세요 :)
bot:: setToken ( ' token-string ' );
bot:: autoInput ();
bot:: id (chat_id)-> message ( ' hello my robot ' )-> send ();
야간 프레임워크에서의 사용법
use Models botfire as bot ;
또는 다른 프로젝트에서의 사용(샘플 보기)
include_once ( ' botfire .php ' );
use Models botfire as bot ;
bot:: setToken ( ' token-string ' );
bot:: autoInput ();
botfire .php를 모델 디렉토리에 다운로드하고 추출하세요.
$ res =bot:: this ()-> getMe ()-> send ();
echo $ res ;
문자 메시지를 보내려면 이 방법을 사용하세요. 성공하면 전송된 메시지가 반환됩니다.
bot:: id (chat_id)
-> message ( ' text ' )
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> disable_web_page_preview (boolean)
-> send ();
예제 코드
bot:: id (chat_id)-> message ( ' your message text ' )-> send ();
bot:: id (chat_id)-> message ( ' use <b> parse_mode <b> ' )-> parse_mode ( ' HTML ' )-> send ();
다른 방법을 사용하다
사진을 보내려면 이 방법을 사용하세요. 성공하면 전송된 메시지가 반환됩니다.
bot:: id (chat_id)
-> photo ( $ file , ' Caption ' )
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
예제 코드
// send from url
bot:: id (chat_id)-> photo (image_url_string)-> send ();
// send by file_id
bot:: id (chat_id)-> photo (file_id_string)-> send ();
// send file from local server
$ file =bot:: loadFile ( ' user.png ' );
bot:: id (chat_id)-> photo ( $ file )-> send ();
// send photo with caption
bot:: id (chat_id)-> photo ( $ file , ' Caption ' )-> send ();
오디오를 보내려면 이 방법을 사용하세요. 오디오는 .MP3 또는 .M4A 형식이어야 합니다.
bot:: id (chat_id)
-> audio ( $ file , ' Caption text for audio ' )
-> duration (int_to_seconds) //Duration of the audio in seconds
-> performer (string)
-> title (string) //Track name
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
예제 코드
bot:: id (chat_id)-> audio ( $ file , ' Caption text for audio ' )-> send ();
일반 파일을 보내려면 이 방법을 사용하세요.
bot:: id (file_id)
-> document ( $ file , ' Caption text for document ' )
-> thumb (loadFile_or_string)
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
// example
bot:: id (file_id)-> document ( file_id , ' Caption text for document ' )-> send ();
이 방법을 사용하여 비디오 파일을 보내세요
bot:: id (file_id)
-> video ( $ file , ' Caption text for video ' )
-> duration (int_to_seconds) //Duration of sent video in seconds
-> width (int) //Animation width
-> height (int) //Animation height
-> thumb (loadFile_or_string)
-> parse_mode (string) // HTML or Markdown
-> supports_streaming (boolean) //Pass True, if the uploaded video is suitable for streaming
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
// example
bot:: id (file_id)-> video ( $ file , ' Caption text for video ' )-> send ();
애니메이션 파일(사운드 없는 GIF 또는 H.264/MPEG-4 AVC 비디오)을 보내려면 이 방법을 사용하십시오.
bot:: this ()-> animation ( $ file , ' Caption text for animation ' )-> send ();
// use other methods
bot:: this ()
-> animation ( $ file , ' Caption text for animation ' )
-> duration (int_to_seconds) //Duration of sent animation in seconds
-> width (int) //Animation width
-> height (int) //Animation height
-> thumb (loadFile_or_string)
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
오디오를 보내려면 이 방법을 사용하세요.
bot:: this ()-> voice ( $ file , ' Caption text for voice ' )-> send ();
// use other methods
bot:: this ()
-> voice ( $ file , ' caption ' )
-> parse_mode (string) // HTML or Markdown
-> duration (int_to_seconds) //Duration of sent voice in seconds
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
v.4.0부터 Telegram 클라이언트는 최대 1분 길이의 둥근 사각형 mp4 비디오를 지원합니다.
bot:: this ()-> voice ( video_file )-> send ();
// use other methods
bot:: this ()
-> voice ( video_file )
-> duration (int_to_seconds) //Duration of sent video in seconds
-> length (int) //Video width and height
-> thumb (loadFile_or_string)
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
loadFile 함수는 서버 파일을 보내는 데 사용됩니다.
bot:: this ()-> document ( bot:: loadFile (file_path_string) )-> send ();
이 방법을 사용하여 지도에 지점을 보냅니다. 성공하면 전송된 메시지가 반환됩니다.
bot:: this ()-> location ( $ latitude , $ longitude )-> send ();
// support live_period
bot:: this ()-> location ( $ latitude , $ longitude )-> live_period ( $ number )-> send ();
봇 측에서 무슨 일이 일어나고 있는지 사용자에게 알려야 할 때 이 방법을 사용하세요.
작업 목록:
'입력','upload_photo','record_video','upload_video','record_audio','upload_audio','upload_document','find_location','record_video_note','upload_video_note'
bot:: this ()-> chatAction ( ' typing ' )-> send ();
이 방법을 사용하면 사진이나 비디오 그룹을 앨범으로 보낼 수 있습니다. 성공하면 전송된 메시지의 배열이 반환됩니다.
입력미디어사진
bot:: id (chat_id)
-> mediaGroup ()
-> photo (file_id)-> caption ( ' caption ... ' )
-> photo (other_file_id)
-> send ();
// support this methods
// ..->photo(file_id)
// ->caption($caption)
// ->parse_mode('HTML')
입력미디어비디오
bot:: id (chat_id)
-> mediaGroup ()
-> video (file_id)-> caption ( ' caption ... ' )
-> video (other_file_id)
-> send ();
// support this methods
// ..->video(file_id)
// ->thumb($thumb)
// ->caption($caption)
// ->parse_mode('HTML')
// ->width($width)
// ->height($height)
// ->duration($duration)
// ->supports_streaming($supports_streaming)
입력미디어애니메이션
bot:: id (chat_id)
-> mediaGroup ()
-> animation (file_id)-> caption ( ' caption ... ' )
-> animation (other_file_id)
-> send ();
// support this methods
// ..->animation(file_id)
// ->thumb($thumb)
// ->caption($caption)
// ->parse_mode('HTML')
// ->width($width)
// ->height($height)
// ->duration($duration)
입력미디어오디오
bot:: id (chat_id)
-> mediaGroup ()
-> audio (file_id)-> caption ( ' caption ... ' )
-> audio (other_file_id)
-> send ();
// support this methods
// ..->audio(file_id)
// ->thumb($thumb)
// ->caption($caption)
// ->parse_mode('HTML')
// ->duration($duration)
// ->performer($performer)
// ->title($title)
입력미디어문서
bot:: id (chat_id)
-> mediaGroup ()
-> document (file_id)-> caption ( ' caption ... ' )
-> document (other_file_id)
-> send ();
// support this methods
// ..->document(file_id)
// ->thumb($thumb)
// ->caption($caption)
// ->parse_mode('HTML')
$ k =bot:: keyboard ();
$ k -> inline ()-> row ( function ( $ col ){
// usage callback
$ col -> btn ( ' button name ' , ' callback_text ' );
// usage url
$ col -> btnUrl ( ' night framework ' , ' https://nightframework.com ' );
})
-> row ( function ( $ col ){
$ col -> btn ( ' one button ' , ' callback_text_2 ' );
});
// send message with inline button
bot:: this ()-> message ( ' message text ' )-> keyboard ( $ k )-> send ();
// send photo with inline button
bot:: this ()-> photo (file_id, ' caption ' )-> keyboard ( $ k )-> send ();
샘플 2
$ k =bot:: keyboard ();
$ k -> btn ( ' game 1 ' , ' game_callback ' );
$ k -> btn ( ' game 2 ' , ' game_callback ' );
$ k -> row ();
bot:: this ()-> message ( ' message text ' )-> keyboard ( $ k )-> send ();
텔레그램 회신키보드마크업 문서
$ k =bot:: keyboard ();
$ k -> markup ()-> row ( function ( $ col ){
$ col -> btn ( ' button name ' );
});
$ k -> markup ( true )-> row ( function ( $ col ){
$ col -> btn ( ' button name ' );
});
bot:: this ()-> message ( ' text ' )-> keyboard ( $ k )-> send ();
bot:: this ()-> message ( ' text ' )-> removeKeyboard ()-> send ();
요청 콜백 확인
if (bot:: $ isCallback ){
/// code ..
}
콜백 데이터 수신
$ data =bot:: get ( ' data ' );
callback_query_id 수신
$ query_id = bot:: get ( ' callback_id ' );
bot:: this ()-> answerCallback ()-> send ();
// send alert
bot:: this ()-> answerCallback ( true )-> text ( ' hello Telegram :) ' )-> send ();
// or open robot link
$ link = ' t.me/your_robot?start=xxxx ' ;
bot:: this ()-> answerCallback ()-> url ( $ link )-> send ();
텍스트와 게임 메시지를 편집하려면 이 방법을 사용하세요. 성공 시 봇이 편집한 메시지를 전송하면 편집된 메시지가 반환되고, 그렇지 않으면 True가 반환됩니다.
bot:: this ()-> editMessage ( ' new text string ' )-> send ();
// use other methods
bot:: this ()
-> editMessage ( ' new text string ' )
// Use custom message_id
-> message_id (id)
// Use custom inline_message_id
-> inline_message_id (id)
-> parse_mode ( ' HTML ' )
-> disable_web_page_preview (boolean)
-> keyboard ( $ k ) // A JSON-serialized object for an inline keyboard.
-> send ();
메시지 캡션을 편집하려면 이 방법을 사용하십시오. 성공 시 봇이 편집한 메시지를 전송하면 편집된 메시지가 반환되고, 그렇지 않으면 True가 반환됩니다.
bot:: this ()-> editCaption ( ' new text string ' )-> send ();
// use other methods
bot:: this ()
-> editCaption ( ' new text string ' )
// Use custom message_id
-> message_id (id)
// Use custom inline_message_id
-> inline_message_id (id)
-> parse_mode ( ' HTML ' )
-> keyboard ( $ k ) // A JSON-serialized object for an inline keyboard.
-> send ();
메시지의 응답 마크업만 편집하려면 이 방법을 사용하십시오. 성공 시 봇이 편집한 메시지를 전송하면 편집된 메시지가 반환되고, 그렇지 않으면 True가 반환됩니다.
bot:: this ()-> editReplyMarkup ()-> keyboard ( $ k )-> send ();
// use other methods
bot:: this ()
-> editReplyMarkup ( ' new text string ' )
// Use custom message_id
-> message_id (id)
// Use custom inline_message_id
-> inline_message_id (id)
-> keyboard ( $ k ) // A JSON-serialized object for an inline keyboard.
-> send ();
메시지를 삭제하려면 이 방법을 사용하세요.
bot:: this ()-> deleteMessage ()-> send ();
// or
bot:: this ()-> deleteMessage ()-> message_id ( ' custom message_id ' )-> send ();
bot:: this ()-> setWebhook ( $ url )-> send ();
// or
bot:: this ()-> setWebhook ( $ url )-> max_connections ( 40 )-> send ();
// or
$ cert =bot:: loadFile ( ' certificate.txt ' );
bot:: this ()
-> setWebhook ( $ url )
-> certificate ( $ cert )
-> allowed_updates ( $ array )
-> send ();
$ res =bot:: this ()-> getWebhookInfo ()-> send ();
echo $ res ;
이 방법을 사용하면 채팅에 대한 최신 정보(일대일 대화의 경우 사용자의 현재 이름, 사용자, 그룹 또는 채널의 현재 사용자 이름 등)를 얻을 수 있습니다. 성공 시 Chat 객체를 반환합니다.
$ result =bot:: this ()-> getChat ()-> send ();
// or
$ result =bot:: id (chat_id)-> getChat ()-> send ();
echo $ result ;
채팅에서 관리자 목록을 얻으려면 이 방법을 사용하십시오. 성공하면 다른 봇을 제외한 모든 채팅 관리자에 대한 정보가 포함된 ChatMember 개체 배열을 반환합니다. 채팅이 그룹 또는 슈퍼그룹이고 관리자가 지정되지 않은 경우 작성자만 반환됩니다.
$ result =bot:: this ()-> getChatAdministrators ()-> send ();
// or
$ result =bot:: id (chat_id)-> getChatAdministrators ()-> send ();
echo $ result ;
이 방법을 사용하여 채팅의 구성원 수를 가져옵니다. 성공 시 Int를 반환합니다.
$ result =bot:: this ()-> getChatMembersCount ()-> send ();
// or
$ result =bot:: id (chat_id)-> getChatMembersCount ()-> send ();
echo $ result ;
// Get the current chat_id
$ chat_id =bot:: $ chat_id ;
// Get the current username
$ username =bot:: $ username ;
// Get the current first_name
$ first_name =bot:: $ first_name ;
// Get the current last_name
$ last_name =bot:: $ last_name ;
// first_name + last_name
$ full_name =bot:: $ full_name ;
//Receive text the user has sent
$ text =bot:: get ( ' text ' );
// get message_id
$ message_id =bot:: get ( ' message_id ' );
// get message caption
$ caption =bot:: get ( ' caption ' );
//Receive object of string sent by telegram
$ ob_str =bot:: $ input ;
//Receive json object sent by telegram
$ json ==bot:: $ json ;
클라이언트 유형 확인
// If the request is from the supergroup return true else false
$ is_group =bot:: isGroup ();
// If the request is from the supergroup or group return true else false
$ is_group =bot:: isGroup ( false );
// If the request is from the private user
$ is_user =bot:: isUser ();
슈퍼그룹으로부터 요청을 받습니다
// get group id
$ chat_id = bot:: $ chat_id ;
// Get the group title
$ title = bot:: $ title ;
// get sender user
$ user = bot:: get ( ' user ' );
$ user_chat_id = $ user -> id ;
$ is_bot = $ user -> is_bot ;
// support messages [text,photo,video,video_note,voice,animation,document,contact,location]
$ message = bot:: getMessageType ();
출력 텍스트 샘플:
{
"type" : " text " ,
"data" : " Hello botfire "
}
출력 사진 샘플:
{
"type" : " photo " ,
"data" : [
{
"file_id" : " AgA*** " ,
"file_unique_id" : " AQA*** " ,
"file_size" : 20303 ,
"width" : 320 ,
"height" : 296
}
]
}