树莓派即时通讯,在树莓派上使用Telegram CLI

在这篇Raspberry Pi Telegram CLI教程中,详细记录了如何在Raspberry Pi上设置消息服务Telegram。

telegram-small.jpg
将利用GitHub上一位用户编写的Telegram CLI(命令行接口)来设置Telegram。
这个项目可以在Raspberry Pi上通过Telegram消息服务发送和接收消息,甚至还可以发送图片。所需要的只是一部手机、Raspberry Pi和一个手机号码。
与WhatsApp不同的是,可以让多个设备运行在同一个手机号上,所以不用担心需要备用的手机号运行它。
可以进一步扩展本教程,利用Telegram来控制你的Raspberry Pi

设备清单

下面是我在这篇树莓派Telegram教程中使用的所有设备清单,需要有联网才能完成本教程,点击链接可直达特别优惠购买。

建议

可选

在Raspberry Pi上设置Telegram CLI

本教程是在干净的Raspbian安装上完成的,但也可以在其他基于Linux的操作系统上工作。

1. 在开始将Telegram CLI(命令行接口)安装到Raspberry Pi之前,必须首先运行更新和升级,以确保Raspberry Pi版本最新。运行以下两个命令来更新Raspberry Pi。

sudo apt-get update
sudo apt-get upgrade

2. 现在Raspberry Pi已经更新了,可以安装需要的库来使用Telegram CLI。在Raspberry Pi上运行以下三个命令来安装所有需要的包。

sudo apt-get install -y libreadline-dev libconfig-dev libssl-dev 
sudo apt-get install -y lua5.2 liblua5.2-dev
sudo apt-get install -y libevent-dev libjansson-dev libpython-dev libssl1.0-dev make git

3. 有了运行Telegram CLI所需要的所有库,可以从GitHub克隆仓库。

在Raspberry Pi上运行以下两个命令来开始克隆。

cd ~
git clone --recursive https://github.com/kenorb-contrib/tg.git

4. 为了让Telegram CLI在Raspberry Pi上编译,首先要修改其中一个源代码文件。在Raspberry Pi上运行以下命令开始编辑文件。

nano ~/tg/tgl/mtproto-utils.c

5. 在这个文件中,要按Ctrl + W,然后输入BN2ull,然后按回车键。这应该会看到下面的代码块。

static unsigned long long BN2ull (TGLC_bn *b) {
  if (sizeof (unsigned long) == 8) {
    return TGLC_bn_get_word (b);
  } else if (sizeof (unsigned long long) == 8) {
    assert (0); // As long as nobody ever uses this code, assume it is broken.
    unsigned long long tmp;
    /* Here be dragons, but it should be okay due to be64toh */
    TGLC_bn_bn2bin (b, (unsigned char *) &tmp);
    return be64toh (tmp);
  } else {
    assert (0);
  }
}

6. 在这段代码中,要找到并替换两个 assert(0) 的出现,如下图所示。

找到两个

assert(0);

替换为:

//assert(0);

按Ctrl + X然后按Y,然后按Enter键保存文件。

7. 已经将Telegram CLI克隆到Raspberry Pi上,并对源代码进行了修改,需要运行配置脚本并编译它。

在Raspberry Pi上运行以下三个命令,第一个命令进入到Telegram目录,第二个命令配置Telegram CLI进行编译,最后,make命令进行编译。

cd ~/tg
./configure
make

在树莓派上用Telegram CLI注册

1. 已经下载并编译了Telegram CLI,可以真正开始使用它了。这时候就需要一个手机和一个手机号码了。还需要知道手机号码的国家代码,例如,中国的国家代码是+86。

2. 现在已经准备好了一个带有国家代码的手机号码,可以运行Telegram CLI。为此,需要在Raspberry Pi上运行以下两个命令。

cd ~/tg
bin/telegram-cli -k tg-server.pub -W

3. 现在会被要求输入电话号码,请确保你输入的电话号码前面有你的国家代码。

例如,如果我们的电话号码是17XXXXXXXX,那么我们输入后就会变成+8617XXXXXXXX。这个手机上会发送一个验证码,下一步之后我们就需要这个验证码了。

4. 输入电话号码后,系统会问你是否要注册,输入Y后按回车键继续前进。

紧接着会要求你输入你的名和姓,把这两个细节都填好。记住你对这些的设定。

5. 现在你已经填写了你的信息,你现在会被要求输入你手机上收到的代码。输入你收到的代码,然后按回车键完成注册。

现在应该可以访问Telegram命令行界面了。

在Raspberry Pi上使用Telegram CLI

1. 现在已经成功地用Telegram CLI进行了注册,可以真正开始接收和发送消息了。如果有人给你发消息,消息会在命令行界面弹出。

在Telegram CLI中使用下面的命令给别人或自己发消息。

将<firstname>替换为要发送消息的联系人的名字,将<lastname>替换为要联系的人的姓氏。最后,可以将<msg>替换为您想要发送给此人的信息。

也可以使用这个命令,用注册时指定的名和姓给自己留言。

msg <firstname>_<lastname> <msg>

作为一个例子,以PiMy为名,LifeUp为姓,举一个下面的例子来说明什么是填写版的命令。

msg PiMy_LifeUp This is a test message from pimylifeup.com

2. 也可以使用Telegram CLI来发送照片,这个命令与发送基于文本的消息命令非常相似。但不使用<msg>,而是指向要发送的Raspberry Pi上的照片位置。以扩展这个命令来发送Pi相机或网络摄像头中的照片。

msg_photo <firstname>_<lastname> <imagelocation>

以msg_photo命令的填写版本为例,我们有一个下面的例子,以PiMy为名,LifeUp为姓。

msg_photo PiMy_LifeUp /home/pi/photo.jpg

在Raspberry Pi上实现Telegram CLI自动化

1. 为了简化通过Raspberry Pi Telegram CLI发送消息,编写两个脚本,一个用于处理发送文本消息,另一个用于处理照片图像。这些脚本将消除每次你想利用Telegram命令行界面时启动它的需要。

运行下面的命令来开始编写第一个Telegram脚本。

sudo nano /home/pi/tg.sh

2. 在这个文件中,要写以下几行脚本。这个脚本将把两个参数作为变量读入,然后把它们传递给Telegram CLI来发送消息。

#!/bin/bash
tgpath=/home/pi/tg
cd ${tgpath}
(sleep 3; echo "msg $1 $2"; echo "safe_quit") | ${tgpath}/bin/telegram-cli -k tg-server.pub -W

按Ctrl + X然后按Y,然后按Enter键保存文件。

3. 新脚本已经写好了,还需要给它执行权限,以便它能启动Telegram。

在Raspberry Pi上运行以下命令来更改其权限。

sudo chmod -R 0655 /home/pi/tg.sh

在我们的教程中学习如何理解和使用chmod命令

4. 可以运行下面的命令来测试新脚本,当然要把<firstname>和<lastname>替换成相关数据。

/home/pi/tg.sh <firstname>_<lastname> "Your test message from pimylifeup"

5. 确认脚本成功运行,就可以对图像进行同样的操作。运行下面的命令,开始编写我们的第二个脚本。

sudo nano /home/pi/tg_photo.sh

6. 现在在这个文件中,要写以下几行脚本,这与之前的脚本非常相似,但发送send_photo命令到Telegram CLI。

#!/bin/bash
tgpath=/home/pi/tg
cd ${tgpath}
(sleep 3; echo "send_photo $1 $2"; echo "safe_quit") | ${tgpath}/bin/telegram-cli -k tg-server.pub -W

按Ctrl + X然后按Y,然后按Enter键保存文件。

7. 和tg.sh脚本一样,也需要让这个新的tg_photo.sh脚本也可以执行。

运行下面的命令给新 tg_photo.sh 脚本赋予正确的权限。

sudo chmod -R 0655 /home/pi/tg_photo.sh

8. 运行下面的命令来测试这个脚本,当然要用相关的数据替换<firstname>和<lastname>。还需要确保指向的是一张真实的图片。

/home/pi/tg_photo.sh <firstname>_<lastname> /home/pi/photo.jpg

如果想知道你可以利用Telegram CLI的哪些命令,可以去官方文档中列出所有可能的命令,也可以去Telegram CLI的GitHub页面找到它。

希望现在你已经成功地在Raspberry Pi上设置了Telegram CLI,并且可以成功地通过Telegram发送文本信息和图像。

如果这个Raspberry Pi Telegram CLI教程帮助了你,或者你遇到了任何问题,请务必在下面留言。

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 树莓派即时通讯,在树莓派上使用Telegram CLI

赞 (0)

评论

6+1=