用于在电报帐户和计算机之间交互的个人电报机器人

pybliotecario的Python项目详细描述


PyPI version

Pybliotecario

pybliotecario是一个用python编写的简单电报机器人。 程序的目标是在运行Pybliotecario的计算机之间保持一个活动连接 还有你的电报帐户。

安装Pybliotecario

pybliotecario可以作为其他python项目安装,使用pip

pip install pybliotecario

o设置工具:

python3 setup.py install

当以这种方式安装时,可执行文件的名称将是hostname(即,运行该文件的计算机的名称,第一个字母大写)。如果要使用其他名称,只需修改pybliotecario_name中的变量setup.py

为了将程序与telegram bot连接,必须创建一个bot与telegram的botfather对话。--init选项将指导您完成整个过程。

pybliotecario --init

一个小的systemd_install.sh脚本与Pybliotecario的Github版本一起提供,以便轻松地对其进行守护。

Pybliotecario的配置

pybliotecario的所有配置选项都可以在文件中找到

$HOME/.pybliotecario.ini

此文件将通过运行--init自动创建(并且大多数选项都已填充)。

扩展Pybliotecario

程序的目标是100%可扩展,以两种不同的模式运行任何类型的操作:

  • 命令行:用正确的参数调用命令。例如,给你的手机发送一条消息。
  • 消息命令:从电报中给机器人写一个命令,这样机器人就可以执行这个命令。

向每个不同的模式添加新的操作是很简单的,在相关的文件中每个案例都有一个小例子。

要向bot添加新命令,需要修改文件on_cmdline.py(用于命令行参数)或on_cmd_message.py(用于从电报发送的命令)。最简单的操作过程是复制其中一个组件(在components文件夹中,您可以看到不同的模块)并添加您自己的操作。其中最简单的可能是components/ip_lookup.py所以看看吧!

命令行:

在文件on_cmdline.py中添加新的if条件。您可以将您的操作作为python代码添加到那里。如果你想做一些更复杂的事情,我建议你创建一个新的组件(拉请求是受欢迎的!)

注意:如果需要新的命令行参数(当然需要!)别忘了把它们加到argument_parser.py的末尾!

示例:-i test.jpg,这将把名为test.img的图像发送到您定义的电报聊天

消息命令:

这些是bot以/command Do whatever形式接收的命令。在文件on_cmd_message.py中,只需向if条件添加一个新命令。命令定义将在变量tg_command中定义。

在这里,您可以编写python代码来执行命令或添加新组件。bot刚刚收到的消息中的所有信息都将包含在message_obj变量中。尤其是文本将是message_obj.text

示例:如果发送命令/IP,则bot将使用其运行的计算机的当前IP进行响应。

可用的命令行选项:

  • 消息:向电报发送消息
  • -I:发送图像到电报
  • -F:发送文件到电报
  • ——AXIVIONEXION:用最新的提交给ARXIV发送一个MSG到电报,如您认为合适的那样过滤(使用https://github.com/lukasschwab/arxiv.py作为API)
  • --天气:向电报发送当前天气和一些有关天气预报的信息(使用https://github.com/csparpa/pyowm作为openweathermap api,它需要一个api键)
  • --check_repository:将消息发送到电报,其中包含对存储库的传入更改
  • --my_ip:将bot的ip发送给定义的电报用户
  • --PID:通过PID监视进程,在进程完成后运行所有其他选项。

可用命令

  • /IP:告诉你IP在哪里机器人目前正在运行
  • /ARXIV查询ARXVIIID:返回查询的文件
  • 的信息
  • /ARXIV得到ARXIVIIID:下载文件并将其发送到电报
  • /is_pid_alive pid_number/process_name:检查给定进程是否活动
  • /kill_pid:终止运行bot的计算机中的给定进程

一些例子和想法:

例如,你可以每天早上7点15分运行PyLogoTeCARIO,告诉你今天在ARXIV的新闻是什么?
15 07 * * mon-fri /home/pi/Telegram/pybliotecario/pybliotecario.py --arxiv_new

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

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?