️ Посмотреть новую версию этой библиотеки можно здесь.
Собери робота с помощью трёх строчек кода :)
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 в каталог моделей: |
$ 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 ();
Начиная с версии 4.0, клиенты Telegram поддерживают закругленные квадратные видеоролики в формате mp4 продолжительностью до 1 минуты.
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 ();
Ответ TelegramДокументация по разметке клавиатуры
$ 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
}
]
}