作为你的物联网私人助理的电报机器人
kaoru的Python项目详细描述
考鲁
作为您的个人物联网助理的电报机器人
kaoru可以定义为一个电报机器人,其角色非常相似 与物联网私人助理有关的人。
好吧,我想我明白了,但是它有什么用呢?
kaoru的人生目标是通过 允许您远程控制主机上的某些内容 在这背后可能有你需要表演的时刻 办公室或家庭笔记本电脑上的管理任务 也许是忘了做,或者是你只能在他们面前做的事。 在这种情况下,类似物联网的方法是理想的,即,与您的 当你走在街上的时候告诉他们帮你做事, 或者和你的朋友共进晚餐,或者当你太困/太懒的时候 从你的沙发/床上起来。
目前,kaoru能够:
- 重新启动主机
- 关闭主机
- 在主机上锁定屏幕
- 从主机发送屏幕快照
- 将主机挂接到RAM或磁盘上
我想实现的东西:
- 对主机中发生的某些事情发送警报/警告
- 告诉您的主机在其文件系统中向您发送一个文件。
- 对文件执行tail,并在新内容附加到该文件时发送消息。
等等,什么?,机器人是一种公共领域,你知道吗?
虽然这是真的,但事实是让您的主机运行kaoru 意味着您可以控制her,包括(但不限于) 控制她要听的人,如Security所述。
好的,我明白了,我怎么用这个?,我只想亲自动手做这个“事情”…
好吧,你需要做的最重要的事情就是告诉@BotFather 根据Telegram Bots Documentation中的指定,为您创建一个新的bot
另一方面,当然,您必须安装kaoru。
# First of all, you need to install
pip3 install kaoru
电报机器人只是一个没有手机的虚拟客户机, 你需要一些东西来控制这个机器人,这样它才能活跃起来 kaoru开始生效。
确保您已经正确设置了全新的电报机器人@BotFather 应该给你一个api访问令牌(一堆字符和数字)。 kaoru需要此令牌才能施展魔法。
此外,您可以从此点编辑configuration file
$ vi /path/to/your/kaoru.conf
注意:配置文件不是运行kaoru的必需,她可以 但是,它使用她的默认值,您至少需要设置api令牌 通过环境变量TG_TOKEN
现在您已经完成设置kaoru,现在是运行它的时候了!
$ kaoru --config /path/to/you/kaoru.conf kaoru [version] - https://github.com/axltxl/kaoru ------------------------------------------------- --- Reading configuration file at: asd.conf (!) Strict mode has been enforced! (!) You will need to register my commands with my @BotFather (!) Ask him to /setcommands and after you (!) have mentioned me, you can paste the following: --- about - Information for nerds start - Start me up hello - See if I "live"help - Get list of available commands screenlock - See if I "live" screenshot - Get a screen shot from your host(s) dryrun - Toggle "dry run" mode cancel - Cancel any pending operation(s) reboot - Reboot your host(s) poweroff - Shut down your host(s)suspend - Suspend your host(s) to RAM hibernate - Suspend your host(s) to disk --- --- Waiting for updates ...
注意:请记住您必须为bot注册kaoru的命令 使用@BotFather,kaoru将告诉您如何使用。
所以,我把一切都安排好了。此机器人上有哪些命令可用?
问得好!,以下是当前的一组命令 支持kaoru,计划推出更多:
- /hello一个简单的ping,看看您的bot是否是alive
- /help如何使用kaoru
- /screenlock锁定主机上的屏幕
- /screenshot从您的主机获取屏幕快照
- /poweroff告诉您的主机关闭
- /reboot告诉主机重新启动
- /cancel取消任何挂起的操作
- /dryrun什么也不做,只是假装
- /about信息,主要针对书呆子
- /suspend挂起要RAM的主机
- /hibernate将主机挂起到磁盘
为了正常工作对考鲁有什么要求吗?
是的。目前,kaoru只在 条件。运行kaoru的主机必须:
- 至少是基于linux的(尽管从概念上讲,*nix应该是受支持的)
- 有sudo。因为像shutdown这样的命令需要作为root运行。
- 安装scrot或imagemagick(如果希望/screenshot命令起作用的话)
- 代表用户运行kaoru,该用户的sudo权限至少覆盖了shutdown的执行,而不需要密码。
- 在系统上安装pm-utils。这是/suspend和/hibernate正常工作所必需的。
配置文件
kaoru列出yaml中的各种配置指令 配置文件。这些指令包括 一个与blabla相关的电报bot api令牌。请参考 到example configuration file 有关如何配置kaoru的详细信息。
---############################# Example configuration file############################# Telegram Bot API access tokentoken:1XXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXX# shutdown the host 2 minutes after a /poweroff command has been receivedpoweroff_delay:2# command to execute when a /screenlock command has been receivedscreenlock_cmd:xscreensaver
注意:配置文件可以由kaoru使用^{tt23}读取$ 参数,默认情况下,kaoru将查找上的配置文件 ~/.config/kaoru/kaoru.conf
安全性
默认情况下,kaoru公开运行,即它将侦听任何传入 任何想要与她交流的用户的更新,而这将允许您 为了快速看到她的工作,这是内在的,而且绝对不安全!!!!
一旦您对您的配置感到满意,我们强烈建议您 在配置文件上强制使用严格模式,如下所示:
---# .. other options are behind# enforce strict modestrict:true# The following are the users who can talk# to kaoru. Requests coming from users outside# this list are simply IGNORED.masters:-<your Telegram user name>-betty# your friend betty can also talk to kaoru
完成后,可以继续重新执行kaoru。 当strict指令设置为true时,kaoru将仅 收听并响应来自在masters中设置的用户的命令和消息。
选项
kaoru [options]
- -i | --interactive进入cli模式
- -c FILE | --config FILE要使用的配置文件
- -d | --dry-run实际上什么都不做
- L NUM | --log-level NUM设置日志输出级别
- -l FILE | --log-file LOG_FILE设置日志文件
贡献
你可以用很多方法为高茹做贡献。 代码补丁只是其中一件事,你可以提交以帮助项目。 我们也欢迎反馈、错误报告、功能请求、文档改进, 广告和测试。
反馈贡献
这是迄今为止最简单的贡献方式。 如果你是为了自己的利益而使用kaoru,不要犹豫分享。 请随意submit issues and enhancement requests.
版权和许可
版权所有(c)Alejandro Ricoveri
特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:
上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。
软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任她在合同诉讼中, 侵权行为或其他,由 软件或软件的使用或其他交易