微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

电报:脚本不发送消息

我正在用Telegram-cli制作一个简单的bash脚本,在这个脚本中我发送了两个参数(destination和message),它应该发送一个Telegram消息给目的地(Name_FamilyName)。

该脚本如下所示:

#!/bin/bash destination=$1; message=$2; (echo "msg $destination $message"; echo "safe_quit") | bin/telegram-cli -k tg-server.pub -W

从理论上讲,应该发送消息。 我改变了脚本的权限,我用下面的方法调用它:

./script_send_message.sh Max_Musterman "Hola qute tal estas"

这就是我得到的结果:

Cygdriveterminal错误:opus / src / opus.o失败

在使用报文时,将大括号“{}”插入到消息文本中

访问电报CLI由PHP

通过脚本将string传递给一个linux cli交互式程序

Telegram-cli version 1.2.0,copyright (C) 2013-2015 Vitaly Valtman Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license'. This is free software,and you are welcome to redistribute it under certain conditions; type `show_license' for details. Telegram-cli uses libtgl version 1.2.0 I: config dir=[/home/machine/.telegram-cli] > msg Max_Musterman Hola qute tal estas > safe_quit User Max_Musterman updated username User Max_Musterman online (was online [2015/04/09 06:56:04]) User Test Phone offline (was online [2015/04/09 06:51:42]) > > All done. Exit halt

根本没有消息发送。 绝望,如果我从控制台发送完全相同的消息,它工作正常。 这是我做的:

bin/telegram-cli -k server.pub -W Telegram-cli version 1.2.0,and you are welcome to redistribute it under certain conditions; type `show_license' for details. Telegram-cli uses libtgl version 1.2.0 I: config dir=[/home/machine/.telegram-cli] User Max_Musterman updated username User Max_Musterman online (was online [2015/04/09 06:59:46]) User Max_Musterman offline (was online [2015/04/09 06:51:42]) > msg Max_Musterman Hola qute tal estas [06:57] Max_Musterman <<< Hola qute tal estas User Max_Musterman marked read 1 outBox and 0 inBox messages User Max_Musterman offline (was online [2015/04/09 06:57:29]) >

我正在用尽想法。 我开始认为,不知何故,在脚本中发送命令msg时,联系人列表没有被加载,所以它不会发送任何东西(在控制台中,如果你发送消息给组成用户的话,它什么都不会做就像在脚本中)。

有没有人遇到类似的东西? 任何解决scheme 感谢您的帮助。

你有其他的选择:

而不是管道命令电报cli你可以使用“-e”选项和user_id,这样:

telegram-cli -RD -e "msg user#nnnnnnn Hola caracola"

其中nnnnn是user_id。 你可以通过“user_info …..”命令找到它。

这样你就不需要睡觉,只要让电报服务器做所有的工作,而不用使用-W命令的电报就不需要获取所有的联系人。

看起来像从脚本运行telegram_cli时,需要一点时间才能发送任何消息(至少显示用户列表)。 如果您在用户列表加载之前发送消息,您将无法发送任何内容。 所以快速修复(或者我们可能称之为顽皮的黑客攻击)是告诉脚本等待3秒发送消息:

#!/bin/bash destination=$1; message=$2; (sleep 3;echo "msg $destination $message"; echo "safe_quit") | bin/telegram-cli -k tg-server.pub -W

也许你必须改变睡眠3睡觉5或类似的东西,但它应该能够发送消息之后。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐