️ このライブラリの新しいバージョンはここでご覧ください
3 行のコードでロボットを構築します:)
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 ();
ボット側で何かが起こっていることをユーザーに伝える必要がある場合は、このメソッドを使用します。
アクションリスト:
'typeing'、'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 ();
Telegram ReplyKeyboardMarkup Docs
$ 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 ;
このメソッドを使用して、チャットに関する最新情報 (1 対 1 の会話のユーザーの現在の名前、ユーザー、グループ、またはチャネルの現在のユーザー名など) を取得します。成功すると 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
}
]
}