Download the PHP package babenkoivan/telegram-notifications without Composer

On this page you can find all versions of the php package babenkoivan/telegram-notifications. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package telegram-notifications

Telegram Notifications For Laravel

Packagist Packagist license

The package provides easy way to send Telegram notifications to any notifiable entity in your project. It uses official Telegram Bot API to deliver your message directly to a user. You can send any information you want: text, media, location or contact.

Contents

Requirements

The package has been tested on following configuration:

Installation

To install the package you can use composer:

If the package discovery is disabled, you need to register the service provider in config/app.php file:

To copy the package settings to config directory run:

Now you're ready to set up a bot token for your application. If you haven't created a bot you can make new one using BotFather. For more information, visit Bots: An introduction for developers page.

Let's move on and assume you have a token. You can configure the token either in .env file:

or in config/telegram.php file:

Of course, the token above is just an example, you have to specify your own token.

Set up your model

To notify user or any other notifiable entity you need to use Notifiable trait with your model and define routeNotificationForTelegram method, which will return a chat_id:

At this point, you may wonder where to get a chat_id. The answer is it's up to you! You can create a webhook to receive updates for your bot and collect chat ids, or you can specify ids manually for certain users.

To get started, you can send Hello! message to your bot and then get message details by requesting API method:

You will receive a JSON in return:

Usage example

if you configured a model you're ready to make your first Telegram notification. You can create a new notification using artisan command:

And again, TelegramNotification here is just an example, you can specify any name you want.

Now, you can go to app/Notifications folder and you'll see TelegramNotification.php file. In via method specify TelegramChannel::class and initialize a new TelegramMessage instance in toTelegram method:

To send the notification use notify method with notifiable entity.

Let's say we have an authenticated user and we want to send a message from a route callback. We can do it like this:

Advanced Usage

You can send either a single message or a message collection at once.

Single Message

Each message class represents certain type of information you can deliver to a user. To send a message return a new instance of necessary type from toTelegram method:

You can also pass parameters to the constructor, to be more explicit:

Available message types are listed below.

TelegramMessage

TelegramNotifications\Messages\TelegramMessage

Field Type Description Required
text String Text of the message to be sent Yes
parse_mode String Send Markdown or HTML, if you want Telegram apps to show bold, italic, fixed-width text or inline URLs in your bot's message Optional
disable_web_page_preview Boolean Disables link previews for links in this message Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramPhoto

TelegramNotifications\Messages\TelegramPhoto

Field Type Description Required
photo String Photo to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
caption String Photo caption, 0-200 characters Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramAudio

TelegramNotifications\Messages\TelegramAudio

Field Type Description Required
audio String Audio file to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
caption String Audio caption, 0-200 characters Optional
duration Integer Duration of the audio in seconds Optional
performer String Performer Optional
title String Track name Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramDocument

TelegramNotifications\Messages\TelegramDocument

Field Type Description Required
document String File to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
caption String Document caption, 0-200 characters Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramSticker

TelegramNotifications\Messages\TelegramSticker

Field Type Description Required
sticker String Sticker to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramVideo

TelegramNotifications\Messages\TelegramVideo

Field Type Description Required
video String Video to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
duration Integer Duration of sent video in seconds Optional
width Integer Video width Optional
height Integer Video height Optional
caption String Video caption, 0-200 characters Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramVoice

TelegramNotifications\Messages\TelegramVoice

Field Type Description Required
voice String Audio file to send. Pass a file_id as String to send a photo that exists on the Telegram servers, pass an HTTP URL as a String for Telegram to get a photo from the Internet. More about sending files Yes
caption String Voice message caption, 0-200 characters Optional
duration Integer Duration of the voice message in seconds Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramLocation

TelegramNotifications\Messages\TelegramLocation

Field Type Description Required
latitude Float number Latitude of location Yes
longitude Float number Longitude of location Yes
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramVenue

TelegramNotifications\Messages\TelegramVenue

Field Type Description Required
latitude Float number Latitude of the venue Yes
longitude Float number Longitude of the venue Yes
title String Name of the venue Yes
address String Address of the venue Yes
foursquare_id String Foursquare identifier of the venue Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

TelegramContact

TelegramNotifications\Messages\TelegramContact

Field Type Description Required
phone_number String Contact's phone number Yes
first_name String Contact's first name Yes
last_name String Contact's last name Optional
disable_notification Boolean Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound Optional

Message Collection

Instead of sending one message at once you can send bunch of messages using TelegramCollection:

Each method of the collection creates corresponding message instance and puts it in the collection. Available methods are listed below:

Method Corresponding entity
message TelegramMessage
photo TelegramPhoto
audio TelegramAudio
document TelegramDocument
sticker TelegramSticker
video TelegramVideo
voice TelegramVoice
location TelegramLocation
venue TelegramVenue
contact TelegramContact

All versions of telegram-notifications with dependencies

PHP Build Version
Package Version
Requires php Version ^7.3 || ^8.0
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package babenkoivan/telegram-notifications contains the following files

Loading the files please wait ....