通过短信息将信息从即时通讯器转发到即时通讯器

SMSGatewa的Python项目详细描述


smsgateway

这个项目处于测试阶段,所以文档非常有限。拉请求欢迎!

以下说明适用于运行ubuntu的raspberry pi,但它在其他linux发行版和平台上的工作方式应该类似。 有些命令可能需要用sudo调用。

有关Android客户端,请参见SMSGateway-Android

短信工具

安装smstools

apt install smstools

编辑/etc/smsd.conf,有关配置示例,请参见Confiuration/smsd.conf。 它用于在/var/spool/sms使用短信后台处理程序smsd

配置

pip install smsgateway

smsgateway/config.example.py复制到/home/smsd/.config/smsgateway/config.py并调整它。

处理传入的短信

要处理传入的短消息,需要将Scripts/smshandler复制到smsd.conf中指定的eventhandler。在示例中,它指向/usr/local/bin/smshandler

确保它是可执行的(chmod +x)。

记录

mkdir /var/log/smsgateway/ && chown -R smsd:smsd /var/log/smsgateway/

控制系统控制、关闭等的许可

Configuration/010_smsd-nopasswd复制到/etc/sudoers.d/

确保文件正确,否则可能会锁定自己!如果你不确定,就跑 visudo -f /etc/sudoers.d/010_smsd-nopasswd,在编辑器中输入内容并保存。

信使

电报

使用Telethon

运行python3 -m smsgateway.sources.telegram授权接收消息,类似地运行python3 -m smsgateway.sources.commands.send_telegram授权发送消息。

facebook

使用fbchat,请参见documentation

apt install python3-dev libxml2-dev libxslt-dev
pip install fbchat

信号

使用signal-cli

SGVER="0.6.2"
apt install openjdk-8-jre-headless
wget "https://github.com/AsamK/signal-cli/releases/download/v$SGVER/signal-cli-$SGVER.tar.gz"
tar xvf "signal-cli-$SGVER.tar.gz" -C /opt
ln -svf "/opt/signal-cli-${SGVER}/bin/signal-cli" /usr/local/bin/
signal-cli link
# You can remove old versions at /opt/signal-cli-<version>

松弛度

转到https://api.slack.com/custom-integrations/legacy-tokens 登录,创建一个令牌并将其存储在SL_TOKEN

WhatsApp

使用Yowsup

pip install yowsup
# TODO

调整和优化

用于短消息的ramdisk

当处理大量短信时,它可能会耗尽SD卡(几个月后我销毁了一张)。 解决方法是将短消息存储在ramdisk中。以下是fstab中的一个条目:

tmpfs   /var/spool/sms  tmpfs         nodev,nosuid,size=64M     0       0

要挂载它,只需调用mount /var/spool/sms

缺点是,当设备重新启动/崩溃时,当前处理的短消息将丢失。 要解决此问题,有两个脚本用于保存和还原Scripts/中的消息,以及一个OneShot服务,可以启用该服务在设备启动时还原消息。

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

推荐PyPI第三方库


热门话题
用于从服务器到客户端的json通信的公共java类   Java Eclipse启动问题   java如何阻止ActionListener停止所有其他代码?   用户界面点击计数器Java GUI   java如何在RequestParm中将多个值转换为enum?   使用Java ServiceLoader的类路径结果NoTouchElementException错误   带条件的Java重复字符正则表达式   java在mockmvc上执行测试时获取断言错误   java为一个实体使用两个实体管理器   java如何在类中使用2个运行程序   从Java应用程序中使用Fiddler捕获HTTP流量   spring boot如何在java es api中将索引_操作设置为doc   java ADF扫描应用程序:哪个库?   java如何引用充满图像的包   java将通过Arduino串行发送的字符串转换为处理   java在单独的控制台/cmd窗口中显示使用JSch执行的SSH命令的结果,而不是在IDE控制台中