框架开源地址:https://github.com/plutobell/teelebot
准备工作
安装python3.x环境,程序不支持2.x的python版本。
可以访问telegram的服务器或是你的电脑可以访问。
学习python编程语言。
文件结构
有了teelebot框架我们只需要进行简单的插件开发即可,下面的是插件文件结构。
这里以作者的示例项目为例:
Hello/ #插件文件夹名
./__init__.py
./Hello.py
./Hello_screenshot.png
./readme.md
__init__.py
文件代码如下:
#/helloworld
#Hello World插件例子
第一行格式#指令
第一行设置的是触发指令,可以是任意组合建议前面加上/来规范书写,也方便后面在botfather来添加指令模块.
第二行#指令说明
不多做解释
Hello.py
代码如下:
# -*- coding:utf-8 -*-
from teelebot import Bot
def Hello(message):
#print("你好,世界!")
bot = Bot()
status = bot.sendChatAction(message["chat"]["id"], "typing")
status = bot.sendPhoto(message["chat"]["id"], bot.plugin_dir + "Hello/helloworld.png", reply_to_message_id=message["message_id"])
第一行设定编码格式不多做解释,不理解的直接复制即可
第二行引入这个bot库 不多做解释,直接复制到你的插件文件里面即可
第三行 def Hello(message):
python的函数定义,其中Hello(message)
是固定的格式 插件名称(message)
需要注意的是插件名称一定要和你的插件文件是相同的.比如Hello.py
就要对应函数Hello(message)
Chat.py
就要对应Chat(message)
printf这一行不说了都会
第五行bot = bot()
将bot()类赋给bot变量 类定义在teelebot/teelebot.py文件夹内 可以在文件夹查看类所有的方法
第六行status = bot.sendChatAction(message["chat"]["id"], "typing")
实际上等于bot.sendChatAction(message["chat"]["id"], "typing")
通过翻译就能看出 发送输入状态命令message["chat"]["id"]
就是传入的会话 ,这一部分也可以直接替换用户id来实现发送给指定用户。
第七行status = bot.sendPhoto(message["chat"]["id"], bot.plugin_dir + "Hello/helloworld.png", reply_to_message_id=message["message_id"])
编辑的前一天 框架作者迭代了版本增加了回复功能。 也是从翻译来看 发送图片 功能很明显message["chat"]["id"]
还是用来指定会话。bot.plugin_dir + "Hello/helloworld.png"
用来说明图片引用的地址, `bot.plugin_dir
在配置confi.cfg文件时就能看到需要自行手动填写位置。reply_to_message_id=message["message_id"])
这段是新加的,用来回复指定消息,如果不需要回复功能这段其实可以直接不写。
扩展一个方法
bot.sendMessage
:发送信息,需要传入三个参数 id,消息文本,类型(默认为txt)
.。发送类型还有另外三种"Markdown", "MarkdownV2", "HTML"
示例:bot.sendMessage(message["chat"]["id"],"lbwnb","HTML")
上面介绍的只是一个简单的回复消息功能,其他功能可以通过你自己的编写来实现,比如我搞出来的邀请码模块,实际上我学python7天就搞出来了。 要注意的是bot库的引入和bot()的赋值,与函数名的定义问题。这三个是重中之重。其余有问题左侧q我或是留言都可以。