如何利用teelebot机器人框架快速开发telegram机器人

框架开源地址: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我或是留言都可以。

原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/2554.html


不妨点个广告再走嘛

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注