core, 基于official的官方电报代理 API

分享于 

10分钟阅读

GitHub

  繁體 雙語
PHP Telegram Bot based on the official Telegram Bot API
  • 源代码名称:core
  • 源代码网址:http://www.github.com/php-telegram-bot/core
  • core源代码文档
  • core源代码下载
  • Git URL:
    git://www.github.com/php-telegram-bot/core.git
    Git Clone代码到本地:
    git clone http://www.github.com/php-telegram-bot/core
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/php-telegram-bot/core
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    PHP电报 Bot

    Join the bot support group on TelegramDonate

    Build StatusCode CoverageCode QualityLatest Stable VersionTotal DownloadsDownloads MonthMinimum PHP VersionLicense

    基于正式电报on的电报机器人

    目录

    简介

    这是一个纯PHP电报机器人,通过插件完全可以扩展。 Telegram最近宣布正式支持 Bot,允许所有种类的集成商为移动平台带来自动交互。 这个shell旨在提供一个平台,它的中一个可以简单地编写插件并在几分钟内进行交互。

    Bot可以:

    • 使用webhook和getUpdates方法检索更新。
    • 支持所有类型和方法,根据 Telegram ( 25 2016年05月 )。
    • 支持 supergroups。
    • 处理与其他机器人聊天的命令。
    • 从bot管理界面管理频道。
    • 全面支持收费的内置僵尸工具。
    • 嵌入式键盘。
    • 消息,InlineQuery和ChosenInlineQuery存储在数据库中。
    • 基于xml的Botan.io 集成与数据库缓存。 ( ) !
    • 会话功能

    这段代码在上可用。 欢迎请求请求。

    命令行指令

    创建你的第一个机器人

    消息 @botfather https://telegram.me/botfather,包含以下文本: 如果你不知道如何使用用户名,点击 Telegram app的搜索字段,然后键入,你应该可以开始对话。 注意不要将它发送给错误的联系人,因为有些用户与 botfather 有相似的用户名。

    botfather initial conversation

    @botfather 回复 Alright, a new bot. How are we going to call it? Please choose a name for your bot.

    为你的bot键入任何你想要的名称。

    @botfather 回复 Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.

    为你的bot键入任何用户名,最少 5个字符,并且必须以 bot 结尾。 例如:telesample_bot

    @botfather 回复:

    
    Done! Congratulations on your new bot. You will find it at
    
    
    telegram.me/telesample_bot. You can now add a description, about
    
    
    section and profile picture for your bot, see/help for a list of
    
    
    commands.
    
    
    
    Use this token to access the HTTP API:
    
    
    123456789:AAG90e14-0f8-40183D-18491dDE
    
    
    
    For a description of the Bot API, see this page:
    
    
    https://core.telegram.org/bots/api
    
    
    
    

    记下上面提到的'令牌'。

    /setprivacy 键入 @botfather.

    botfather later conversation

    @botfather 回复 Choose a bot to change group messages settings.

    键入( 或者选择) @telesample_bot ( 更改上面第 5步设置的用户名,但使用 @ 启动它)

    @botfather 回复

    
    'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username.
    
    
    'Disable' - your bot will receive all messages that people send to groups.
    
    
    Current status is: ENABLED
    
    
    
    

    键入( 或者选择) Disable,让你的bot接收发送到组的所有消息。 这一步由你自己决定。

    @botfather 回复 Success! The new status is: DISABLED./help

    要求这里软件包具有 Composer

    通过 Composer 安装这个软件包。 编辑项目文件的composer.json 以要求 longman/telegram-bot

    创建 composer.json 文件

    {
     "name": "yourproject/yourproject",
     "type": "project",
     "require": {
     "php": ">=5.5",
     "longman/telegram-bot": "*" }
    }

    并运行 composer update

    或者

    在你的命令行 中运行这里命令:

    composer require longman/telegram-bot

    选择如何检索电子邮件更新

    bot可以用英镑或者英镑 getUpdates 方法处理更新:

    Webhook getUpdates
    描述Telegram将更新直接发送到你的主机你必须手动获取电报更新
    带https的主机必选不要求
    MySQL不要求必选

    Webhook安装

    注意:有关更详细的说明,请参阅示例存储库并按照那里的说明进行操作。

    为了设置一个服务器,你需要一个支持HTTPS和 Composer的服务器。 ( 对于自签名证书,你需要添加一些额外的代码)

    使用以下内容创建 set.php:

    <?php// Load composerrequire__DIR__.'/vendor/autoload.php';$bot_api_key='your:bot_api_key';$bot_username='username_bot';$hook_url='https://your-domain/path/to/hook.php';try {// Create Telegram API object$telegram=newLongmanTelegramBotTelegram($bot_api_key, $bot_username);// Set webhook$result=$telegram->setWebhook($hook_url);if ($result->isOk()) {echo$result->getDescription(); }} catch (LongmanTelegramBotExceptionTelegramException$e) {// log telegram errors// echo $e->getMessage();}

    通过浏览器打开你的set.php,用电报来 register webhook。 你应该看到 Webhook was set

    现在,使用以下内容创建 hook.php:

    <?php// Load composerrequire__DIR__.'/vendor/autoload.php';$bot_api_key='your:bot_api_key';$bot_username='username_bot';try {// Create Telegram API object$telegram=newLongmanTelegramBotTelegram($bot_api_key, $bot_username);// Handle telegram webhook request$telegram->handle();} catch (LongmanTelegramBotExceptionTelegramException$e) {// Silence is golden!// log telegram errors// echo $e->getMessage();}

    自签名证书

    要上载证书,请在 set.php 中将证书路径添加为参数:

    $result=$telegram->setWebhook($hook_url, ['certificate'=>'/path/to/certificate']);

    取消 Webhook

    使用你的bot凭证编辑 unset.php 并执行它。

    getUpdates安装

    必须为getUpdates方法启用MySQL数据库 !

    使用以下内容创建 getUpdatesCLI.php:

    #!/usr/bin/env php<?phprequire__DIR__.'/vendor/autoload.php';$bot_api_key='your:bot_api_key';$bot_username='username_bot';$mysql_credentials= ['host'=>'localhost','user'=>'dbuser','password'=>'dbpass','database'=>'dbname',];try {// Create Telegram API object$telegram=newLongmanTelegramBotTelegram($bot_api_key, $bot_username);// Enable MySQL$telegram->enableMySql($mysql_credentials);// Handle telegram getUpdates request$telegram->handleGetUpdates();} catch (LongmanTelegramBotExceptionTelegramException$e) {// log telegram errors// echo $e->getMessage();}

    接下来,给出执行的文件权限:

    $ chmod +x getUpdatesCLI.php

    最后,运行它 !

    $./getUpdatesCLI.php

    支持

    用户定义类型

    所有类型均根据 Telegram ( 20 2016年01月 ) 实现。

    内联查询

    完全支持根据 Telegram ( 20 2016年01月 ) 查询。

    方法

    所有方法均按 Telegram ( 20 2016年01月 ) 实现。

    电子邮件发送消息

    超过 4096个字符的邮件被分成多个消息。

     
      
      
    $result   
      
    =   
      
    请求   
      
    ::   
    [ (   
      
    '   
    chat_id   
    '   
      
      
    =>   
      
    $chat_id   
    ,   
      
    '   
    文本   
    '   
      
      
    =>   
      
      
    '   
    你的utf8文本   
      
     

    API  BASE  PHP  bot  TEL  Telegram  
    相关文章