diff --git a/README.md b/README.md index 32f0c10..f64d34a 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,18 @@ use BushlanovDev\MaxMessengerBot\Api; $api = new Api('YOUR_BOT_API_TOKEN'); +// Загрузка файла +$fileAttachmentRequest = $api->uploadAttachment( + type: UploadType::File, + filePath: __DIR__ . '/test.pdf', +); + $api->sendMessage( userId: 123, // ID пользователя получателя сообщения chatId: 321, // Или ID чата, в который нужно отправить сообщение text: 'Привет!', // Текст сообщения, вы можете использовать HTML или Markdown attachments: [ + $fileAttachmentRequest, new InlineKeyboardAttachmentRequest([ [new CallbackButton('Нажми меня!', 'payload_button1')], [new LinkButton('Нажми меня!', 'https://example.com')], diff --git a/docs/README.md b/docs/README.md index f9d076a..f025196 100644 --- a/docs/README.md +++ b/docs/README.md @@ -114,13 +114,16 @@ $api = new Api( ### Получение информации о боте +Возвращает информацию о текущем боте, который идентифицируется с помощью токена доступа. +Метод возвращает ID бота, его имя и аватар (если есть). + ```php $botInfo = $api->getBotInfo(); ``` ### Редактирование информации о боте -Обратите внимание что данный метод отправляется PATCH запросом. Это значит, что будут обновлены только переданные +Обратите внимание, что данный метод отправляется PATCH запросом. Это значит, что будут обновлены только переданные поля. В следующем примере мы изменяем только название бота и отчистим его описание. Остальные поля останутся неизменными. @@ -137,6 +140,9 @@ $botInfo = $api->editBotInfo( ### Получение списка всех чатов бота +Возвращает информацию о чатах, в которых участвовал бот. +Результат включает список чатов и маркер для перехода к следующей странице. + ```php $chats = $api->getChats( count: 10, // Количество запрашиваемых чатов @@ -146,6 +152,8 @@ $chats = $api->getChats( ### Получение информации о чате по ссылке +Возвращает информацию о чате по его публичной ссылке, либо информацию о диалоге с пользователем по его username. + ```php $chat = $api->getChatByLink('@super_chat'); // Публичная ссылка на чат или username пользователя ``` @@ -158,6 +166,8 @@ $chat = $api->getChat(12345); ### Редактирование информации о чате +Позволяет редактировать информацию о чате, включая название, иконку и закреплённое сообщение. + ```php $chat = $api->editChat( chatId: 12345, @@ -175,6 +185,8 @@ $api->deleteChat(12345); ### Отправка действия в чат +Позволяет отправлять действия бота в чат, такие как «набор текста» или «отправка фото». + ```php $api->sendAction( chatId: 12345, @@ -218,6 +230,8 @@ $api->leaveChat(12345); ### Получение администраторов чата +Возвращает всех администраторов чата. Бот должен быть администратором в запрашиваемом чате. + ```php $adminsChatMemberList = $api->getAdmins(12345); ``` @@ -225,7 +239,7 @@ $adminsChatMemberList = $api->getAdmins(12345); ### Назначение администраторов чата ```php -$chatMemberList = $api->addAdmins( +$api->addAdmins( chatId: 12345, admins: [ new ChatAdmin(123, [ChatAdminPermission::ReadAllMessages]), @@ -278,6 +292,10 @@ $subscriptions = $api->getSubscriptions(); ### Создание Webhook-подписки +Подписывает бота на получение обновлений через WebHook. +После вызова этого метода бот будет получать уведомления о новых событиях в чатах на указанный URL. +Ваш сервер должен прослушивать один из следующих портов: 80, 8080, 443, 8443, 16384-32383. + ```php $api->subscribe( url: 'https://example.com/webhook', // URL на который будут приходить хуки. Должен начинаться с http(s):// @@ -294,6 +312,11 @@ $api->unsubscribe('https://example.com/webhook'); ### Получение обновлений через Long-Polling +Этот метод можно использовать для получения обновлений, если ваш бот не подписан на WebHook. Метод использует долгий опрос (long polling). +Каждое обновление имеет свой номер последовательности. Свойство marker в ответе указывает на следующее ожидаемое обновление. +Все предыдущие обновления считаются завершенными после прохождения параметра marker. +Если параметр marker не передан, бот получит все обновления, произошедшие после последнего подтверждения. + ```php $updateList = $api->getUpdates( limit: 10, // Максимальное количество обновлений для получения [1-1000] (необязательно) @@ -327,6 +350,10 @@ $photoAttachmentRequest = $api->uploadAttachment( ### Получение списка сообщений из чата +Возвращает сообщения в чате: страницу с результатами и маркер, указывающий на следующую страницу. +Сообщения возвращаются в обратном порядке, то есть последние сообщения в чате будут первыми в массиве. +Поэтому, если вы используете параметры from и to, то to должно быть меньше, чем from. + ```php $messages = $api->getMessages( chatId: 12345, // ID чата, чтобы получить сообщения из определённого чата (необязательно) @@ -366,6 +393,9 @@ $message = $api->sendMessage( ### Редактирование сообщения +Редактирует сообщение в чате. Если поле attachments равно null, вложения текущего сообщения не изменяются. +Если в этом поле передан пустой список, все вложения будут удалены. + ```php $api->editMessage( messageId: 12345, @@ -391,6 +421,8 @@ $message = $api->getMessageById(12345); ### Получение детальной информации о видео +Возвращает подробную информацию о приклеплённом видео. URL-адреса воспроизведения и дополнительные метаданные. + ```php $videoAttachmentDetails = $api->getVideoAttachmentDetails('some-video-token'); ```