예제 #1
0
//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();
}
예제 #3
0
<?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;
}