//README //This configuration file is intented to run the bot with the webhook method //Uncommented parameters must be filled #bash script #while true; do ./getUpdatesCLI.php; done // Load composer require __DIR__ . '/vendor/autoload.php'; $API_KEY = 'your_bot_api_key'; $BOT_NAME = 'username_bot'; //$commands_path = __DIR__ . '/Commands/'; $mysql_credentials = ['host' => 'localhost', 'user' => 'dbuser', 'password' => 'dbpass', 'database' => 'dbname']; try { // Create Telegram API object $telegram = new Longman\TelegramBot\Telegram($API_KEY, $BOT_NAME); // Enable MySQL $telegram->enableMySQL($mysql_credentials); //// Enable MySQL with table prefix //$telegram->enableMySQL($mysql_credentials, $BOT_NAME . '_'); //// Add an additional commands path //$telegram->addCommandsPath($commands_path); //// Here you can enable admin interface for the channel you want to manage //$telegram->enableAdmins(['your_telegram_id']); //$telegram->setCommandConfig('sendtochannel', ['your_channel' => '@type_here_your_channel']); //// Here you can set some command specific parameters, //// for example, google geocode/timezone api key for date command: //$telegram->setCommandConfig('date', ['google_api_key' => 'your_google_api_key_here']); //// Logging //$telegram->setLogRequests(true); //$telegram->setLogPath($BOT_NAME . '.log'); //$telegram->setLogVerbosity(3); //// Set custom Upload and Download path
#!/usr/bin/env php <?php #bash script #while true; do ./getUpdatesCLI.php; done //Composer Loader $loader = (require __DIR__ . '/vendor/autoload.php'); $API_KEY = 'your_bot_api_key'; $BOT_NAME = 'namebot'; //$COMMANDS_FOLDER = __DIR__.'/Commands/'; $credentials = array('host' => 'localhost', 'user' => 'dbuser', 'password' => 'dbpass', 'database' => 'dbname'); try { // create Telegram API object $telegram = new Longman\TelegramBot\Telegram($API_KEY, $BOT_NAME); //Options $telegram->enableMySQL($credentials); //$telegram->enableMySQL($credentials, $BOT_NAME.'_'); //$telegram->addCommandsPath($COMMANDS_FOLDER); //here you can set some command specified parameters, //for example, google geocode/timezone api key for date command: //$telegram->setCommandConfig('date', array('google_api_key'=>'your_google_api_key_here')); //$telegram->setLogRequests(true); //$telegram->setLogPath($BOT_NAME.'.log'); // handle telegram getUpdate request $telegram->handleGetUpdates(); } catch (Longman\TelegramBot\Exception\TelegramException $e) { // log telegram errors echo $e->getMessage(); }
<?php require __DIR__ . '/../vendor/autoload.php'; $filename = 'logfile.log'; $API_KEY = 'random'; $BOT_NAME = 'bot_name'; define('PHPUNIT_TESTSUITE', 'some value'); $CREDENTIALS = array('host' => 'localhost', 'user' => '', 'password' => '', 'database' => ''); $update = null; try { // Create Telegram API object $telegram = new Longman\TelegramBot\Telegram($API_KEY, $BOT_NAME); $telegram->enableMySQL($CREDENTIALS); foreach (new SplFileObject($filename) as $current_line) { $json_decoded = json_decode($update, true); if (!is_null($json_decoded)) { echo $update . "\n\n"; $update = null; if (empty($json_decoded)) { echo "Empty update: \n"; echo $update . "\n\n"; continue; } $telegram->processUpdate(new Longman\TelegramBot\Entities\Update($json_decoded, $BOT_NAME)); } $update .= $current_line; } } catch (Longman\TelegramBot\Exception\TelegramException $e) { // log telegram errors echo $e; }