可插拔python电报机器人

telegrambot的Python项目详细描述


Build StatusCoverage StatusCode QualityCurrent VersionPython Versions

尽管这段代码在生产中被大量使用 好几个月的环境,我真的不会把它当作 伟大代码的例子。

公平地说,我偏离了方向,决定看看我 可能会滥用python的某些方面(例如元类/类 创造)。

你被警告了!

这样一来,telegrambot就很容易站起来 跑步。

% pip install telegrambot
% cat mybot.cfg
[core]
bot_id = <telegram_bot_id>
token = <telegram_bot_token>
[bing]
key = <bing_api_key>
% telegrambot mybot.cfg

目前框架公开了三个命令;/crash/hang用于在 开发而/get是一个自带的api密钥bing映像 搜索者。

添加插件非常简单,只需创建一个名称空间包 在telegrambot.plugins和子类下 telegrambot.plugins.base.BasePlugin(现在我想起来了, 命名空间包可能不是必需的-我将不得不重新考虑 这一点上的动机)。

插件示例

fromtelegrambot.plugins.baseimportBasePlugin# due to annoying limitations class names must be uniqueclassHelloWorld(BasePlugin):# register /hello command to 'hello_handler' methodcommands{'hello':'hello_handler'}defhello_handler(self,args,msg):# `args` is a list of the arguments after the command:# '/hello world' -> args=['world']# `msg` is a dictionary representing the Telegram `Message` object# see TelegramAPIMixin for available Telegram API functionsself.send_message('Hello, {}'.(' '.join(args)),msg['chat']['id'],reply=msg['message_id'])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何提高我的软件项目的速度?   java将Jetty嵌入JavaSE项目   数组中的java重复字符   java我的Shell排序没有按预期工作,我需要一些帮助来找出我做错了什么   java如何在JBoss EAP6/AS7中应用先过滤后安全约束   java使用一个随机运算符来处理多个变量   java为什么我不能在文件中写我的二叉树?   java应用程序不会在Eclipse emulator上运行   我第一次尝试制作一个简单的基于瓷砖的java游戏   java为TermVectors安装Solr修补程序   java无法将更新的对象值从客户端发送到服务器,服务器读取不存在的值   Azure,java sdk,使用ARM模板部署无法转换参数文件   是否有一个Java等价于空合并运算符(?)在C#?   java如果只初始化了超类对象,是否可以调用特定于子类的方法?   向类文件传递值时出现java NullPointerException   java模不起作用   java Android TranslateAnimation动态更新布局的大小   数据结构如何在java中实例化队列对象?   java如果用户选择一些随机的相机应用程序,如何在安卓中正确处理相机意图?