️ Voir la nouvelle version de cette bibliothèque ici
Construisez un robot avec trois lignes de code :)
bot:: setToken ( ' token-string ' );
bot:: autoInput ();
bot:: id (chat_id)-> message ( ' hello my robot ' )-> send ();
utilisation dans un cadre de nuit
use Models botfire as bot ;
ou utilisation dans un autre projet (voir exemple)
include_once ( ' botfire .php ' );
use Models botfire as bot ;
bot:: setToken ( ' token-string ' );
bot:: autoInput ();
téléchargez et extrayez botfire .php dans le répertoire models :|
$ res =bot:: this ()-> getMe ()-> send ();
echo $ res ;
Utilisez cette méthode pour envoyer des messages texte. En cas de succès, le message envoyé est renvoyé.
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 ();
exemple de code
bot:: id (chat_id)-> message ( ' your message text ' )-> send ();
bot:: id (chat_id)-> message ( ' use <b> parse_mode <b> ' )-> parse_mode ( ' HTML ' )-> send ();
utiliser d'autres méthodes
Utilisez cette méthode pour envoyer des photos. En cas de succès, le message envoyé est renvoyé.
bot:: id (chat_id)
-> photo ( $ file , ' Caption ' )
-> parse_mode (string) // HTML or Markdown
-> disable_notification (boolean)
-> reply_to (message_id)
-> keyboard ( botfire _keyboard)
-> send ();
exemple de code
// 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 ();
Utilisez cette méthode pour envoyer de l'audio, notre audio doit être au format .MP3 ou .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 ();
exemple de code
bot:: id (chat_id)-> audio ( $ file , ' Caption text for audio ' )-> send ();
Utilisez cette méthode pour envoyer des fichiers généraux
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 ();
Utilisez cette méthode pour envoyer des fichiers vidéo
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 ();
Utilisez cette méthode pour envoyer des fichiers d'animation (vidéo GIF ou H.264/MPEG-4 AVC sans son).
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 ();
Utilisez cette méthode pour envoyer de l'audio
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 ();
Depuis la version 4.0, les clients Telegram prennent en charge les vidéos mp4 carrées arrondies d'une durée maximale d'une minute.
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 ();
La fonction loadFile est utilisée pour envoyer des fichiers au serveur
bot:: this ()-> document ( bot:: loadFile (file_path_string) )-> send ();
Utilisez cette méthode pour envoyer un point sur la carte. En cas de succès, le message envoyé est renvoyé.
bot:: this ()-> location ( $ latitude , $ longitude )-> send ();
// support live_period
bot:: this ()-> location ( $ latitude , $ longitude )-> live_period ( $ number )-> send ();
Utilisez cette méthode lorsque vous devez informer l'utilisateur que quelque chose se passe du côté du bot.
liste d'actions :
'typing','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 ();
Utilisez cette méthode pour envoyer un groupe de photos ou de vidéos sous forme d'album. En cas de succès, un tableau des messages envoyés est renvoyé.
EntréeMediaPhoto
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')
EntréeMédiaVidéo
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)
EntréeMédiasAnimation
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)
EntréeMédiasAudio
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)
EntréeMediaDocument
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 ();
échantillon 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 Documents
$ 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 ();
demande de chèque
if (bot:: $ isCallback ){
/// code ..
}
Recevoir des données de rappel
$ data =bot:: get ( ' data ' );
Recevoir 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 ();
Utilisez cette méthode pour modifier les messages texte et de jeu. En cas de succès, si le message modifié est envoyé par le bot, le message modifié est renvoyé, sinon True est renvoyé.
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 ();
Utilisez cette méthode pour modifier les légendes des messages. En cas de succès, si le message modifié est envoyé par le bot, le message modifié est renvoyé, sinon True est renvoyé.
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 ();
Utilisez cette méthode pour modifier uniquement le balisage de réponse des messages. En cas de succès, si le message modifié est envoyé par le bot, le message modifié est renvoyé, sinon True est renvoyé.
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 ();
Utilisez cette méthode pour supprimer un message
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 ;
Utilisez cette méthode pour obtenir des informations à jour sur le chat (nom actuel de l'utilisateur pour les conversations en tête-à-tête, nom d'utilisateur actuel d'un utilisateur, d'un groupe ou d'un canal, etc.). Renvoie un objet Chat en cas de succès.
$ result =bot:: this ()-> getChat ()-> send ();
// or
$ result =bot:: id (chat_id)-> getChat ()-> send ();
echo $ result ;
Utilisez cette méthode pour obtenir une liste des administrateurs dans une discussion. En cas de succès, renvoie un tableau d'objets ChatMember qui contient des informations sur tous les administrateurs de discussion, à l'exception des autres robots. Si le chat est un groupe ou un supergroupe et qu'aucun administrateur n'a été nommé, seul le créateur sera renvoyé.
$ result =bot:: this ()-> getChatAdministrators ()-> send ();
// or
$ result =bot:: id (chat_id)-> getChatAdministrators ()-> send ();
echo $ result ;
Utilisez cette méthode pour obtenir le nombre de membres dans une discussion. Renvoie Int en cas de succès.
$ 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 ;
vérifier le type de client
// 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 ();
recevoir une demande du supergroupe
// 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 ();
exemple de texte de sortie :
{
"type" : " text " ,
"data" : " Hello botfire "
}
échantillon de photo de sortie :
{
"type" : " photo " ,
"data" : [
{
"file_id" : " AgA*** " ,
"file_unique_id" : " AQA*** " ,
"file_size" : 20303 ,
"width" : 320 ,
"height" : 296
}
]
}