Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| php:telegram [2015/11/10 09:21] – [Описание] mirocow | php:telegram [2015/11/14 15:22] (текущий) – [Запуск бота] mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| ====== Telegram BOT API (Yii2) ====== | ====== Telegram BOT API (Yii2) ====== | ||
| Строка 10: | Строка 10: | ||
| @BotFather | @BotFather | ||
| </ | </ | ||
| - | ===== Описание ===== | + | ===== Описание |
| - | Данные получаются в формате JSON через [[https://core.telegram.org/bots/api#setwebhook|Webhook]] | + | Пример реализации на **[[https://github.com/Mirocow/yii2-telegram-api|mirocow/ |
| + | |||
| + | ==== Настройка ==== | ||
| <code php> | <code php> | ||
| - | file_get_contents('php://input') | + | 'modules' |
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ], | ||
| + | ], | ||
| + | ], | ||
| </ | </ | ||
| - | Отправка сообщений или | + | ==== Запуск бота ==== |
| + | |||
| + | <code sh> | ||
| + | $ php ./yii mirocow\telegram\bot | ||
| + | </ | ||
| + | |||
| + | Бот имеет возможность поддержки | ||
| + | |||
| + | === Создание команд бота === | ||
| - | Простой пример приветствия завязанного на [[https:// | + | nano app\commands\HelpCommand |
| + | |||
| + | <code php> | ||
| + | namespace mirocow\telegram\commands; | ||
| + | |||
| + | use mirocow\telegram\interfaces\CommandInterface; | ||
| + | |||
| + | class HelpCommand implements CommandInterface { | ||
| + | |||
| + | public function run(\Zelenin\Telegram\Bot\Type\Update $update){ | ||
| + | |||
| + | return <<< | ||
| + | |||
| + | Help coomand | ||
| + | |||
| + | HELP; | ||
| + | |||
| + | } | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | ==== Отправка сообщений ==== | ||
| + | |||
| + | <code php> | ||
| + | </ | ||
| + | ===== Описание реализации на akalongman/ | ||
| + | |||
| + | Пример реализации на **[[https:// | ||
| + | |||
| + | ==== Webhook ==== | ||
| + | |||
| + | Простой пример приветствия завязанного на [[https:// | ||
| <code php> | <code php> | ||
| Строка 26: | Строка 78: | ||
| | | ||
| public $API_KEY = ' | public $API_KEY = ' | ||
| - | public $BOT_NAME = ' | + | public $BOT_NAME = ' |
| + | public $API_CERTIFICATE = ''; | ||
| | | ||
| public function init(){ | public function init(){ | ||
| Строка 33: | Строка 86: | ||
| $telegram = new Longman\TelegramBot\Telegram($this-> | $telegram = new Longman\TelegramBot\Telegram($this-> | ||
| - | echo $telegram-> | + | echo $telegram-> |
| } catch (Longman\TelegramBot\Exception\TelegramException $e) { | } catch (Longman\TelegramBot\Exception\TelegramException $e) { | ||
| echo $e-> | echo $e-> | ||
| Строка 51: | Строка 104: | ||
| | | ||
| } | } | ||
| + | | ||
| + | } | ||
| + | </ | ||
| - | public function actionHello(){ | + | === SSL for WebHook === |
| - | + | ||
| - | $gram=json_decode(file_get_contents(' | + | |
| - | $message=' | + | * http://www.startssl.com/ (free for noncommerce) |
| - | | + | * https://buy.wosign.com/ |
| - | .$gram[' | + | |
| - | .$gram[' | + | |
| - | file_get_contents(' | + | ==== getUpdates ==== |
| - | .$gram[' | + | |
| - | .urlencode($message)) | + | |
| - | | + | Другой метод не требует наличия SSL - это [[https:// |
| + | |||
| + | <code php> | ||
| + | class APIController { | ||
| + | |||
| + | public $API_KEY = ' | ||
| + | public $BOT_NAME = ' | ||
| + | public $COMMANDS_FOLDER = ' | ||
| + | |||
| + | public function init(){ | ||
| + | |||
| + | try { | ||
| + | $telegram = new Longman\TelegramBot\Telegram($this-> | ||
| + | $telegram-> | ||
| + | $telegram-> | ||
| + | $telegram-> | ||
| + | | ||
| + | echo $e-> | ||
| + | } | ||
| + | |||
| + | } | ||
| + | | ||
| } | } | ||
| </ | </ | ||
| - | ===== SSL for WebHook ===== | ||
| - | |||
| - | * http:// | ||
| - | * https:// | ||
| ===== Исходники ===== | ===== Исходники ===== | ||
| Строка 77: | Строка 144: | ||
| ===== Yii2 ===== | ===== Yii2 ===== | ||
| + | * https:// | ||
| * https:// | * https:// | ||