帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:bot  Telegram  构建  async  TEL  异步  Building  BOTS  
Asynchronous Python API for building Telegram bots

  • 源代码名称:aiotg
  • 源代码网址:http://www.github.com/szastupov/aiotg
  • aiotg源代码文档
  • aiotg源代码下载
  • Git URL:
    git://www.github.com/szastupov/aiotg.git
  • Git Clone代码到本地:
    git clone http://www.github.com/szastupov/aiotg
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/szastupov/aiotg
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • aiotg https://travis-ci.org/szastupov/aiotg.svg?branch=master

    用于构建电报机器人的异步 python API,具有以下功能:

    • 简单和声明式 API
    • 麻烦免费安装- 无需SSL证书或者 static IP
    • 通过 botan.io 支持对分析的支持
    • 自动处理电报的节流或者超时

    用pip安装它:

    pip install aiotg

    然后,你可以在几行中创建一个新的机器人:

    from aiotg import Bot, Chat
    bot = Bot(api_token="...")@bot.command(r"/echo (.+)")defecho(chat: Chat, match):
     return chat.reply(match.group(1))
    bot.run()

    现在用适当的API_TOKEN运行它,它应该回复/echo 命令。

    便笺

    类型注释不是必需的,但会帮助你的编辑器/ide提供代码完成。

    上面的示例看起来像一个普通的同步代码,但实际上它返回一个协作器。 如果你想使外部请求( 这就是机器人通常做的),只需使用aiohttp和异步/等待语法:

    import aiohttpfrom aiotg import Bot, Chat
    bot = Bot(api_token="...")@bot.command("bitcoin")asyncdefbitcoin(chat: Chat, match):
     url ="https://api.bitcoinaverage.com/ticker/global/USD/"asyncwith aiohttp.get(url) as s:
     info =await s.json()
     await chat.send_text(info["24h_avg"])
    bot.run()

    但是如果你只是想编写一个快速集成,而不需要提供会话接口,那该怎么做? 你可以通过构建带有或者通道 NAME的聊天对象来发送消息。 我们还为你节省了一些额外的按键,提供方便的通道构造函数:

    ...channel = bot.channel("@yourchannel")
    private = bot.private("1111111")asyncdefgreeter():
     await channel.send_text("Hello from channel!")
     await private.send_text("Why not greet personally?")...

    示例

    例如在一个真实的例子中,看看 WhatisBot 或者音乐目录 Bot 。

    有关如何使用该项目的更多信息,请参见项目文档的 有问题请在的项目电报聊天网站上提问。



    文章标签:构建  Building  async  异步  bot  TEL  Telegram  BOTS  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语