| Server IP : 54.94.228.101 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/vendor/irazasyed/telegram-bot-sdk/src/Laravel/ |
Upload File : |
<?php
namespace Telegram\Bot\Laravel;
use Telegram\Bot\Api;
use Illuminate\Support\ServiceProvider;
use Illuminate\Contracts\Container\Container as Application;
use Laravel\Lumen\Application as LumenApplication;
use Illuminate\Foundation\Application as LaravelApplication;
/**
* Class TelegramServiceProvider.
*/
class TelegramServiceProvider extends ServiceProvider
{
/**
* Indicates if loading of the provider is deferred.
*
* @var bool
*/
protected $defer = true;
/**
* Holds path to Config File.
*
* @var string
*/
protected $config_filepath;
/**
* Bootstrap the application events.
*/
public function boot()
{
$this->setupConfig($this->app);
}
/**
* Setup the config.
*
* @param \Illuminate\Contracts\Container\Container $app
*
* @return void
*/
protected function setupConfig(Application $app)
{
$source = __DIR__.'/config/telegram.php';
if ($app instanceof LaravelApplication && $app->runningInConsole()) {
$this->publishes([$source => config_path('telegram.php')]);
} elseif ($app instanceof LumenApplication) {
$app->configure('telegram');
}
$this->mergeConfigFrom($source, 'telegram');
}
/**
* Register the service provider.
*/
public function register()
{
$this->registerTelegram($this->app);
}
/**
* Initialize Telegram Bot SDK Library with Default Config.
*
* @param Application $app
*/
protected function registerTelegram(Application $app)
{
$app->singleton(Api::class, function ($app) {
$config = $app['config'];
$telegram = new Api(
$config->get('telegram.bot_token', false),
$config->get('telegram.async_requests', false),
$config->get('telegram.http_client_handler', null)
);
// Register Commands
$telegram->addCommands($config->get('telegram.commands', []));
// Check if DI needs to be enabled for Commands
if ($config->get('telegram.inject_command_dependencies', false)) {
$telegram->setContainer($app);
}
return $telegram;
});
$app->alias(Api::class, 'telegram');
}
/**
* Get the services provided by the provider.
*
* @return array
*/
public function provides()
{
return ['telegram', Api::class];
}
}