我正在尝试使用Telegram CLI来“控制”我的虚拟Raspberry PI 3。我正在通过智能手机向电报CLI发送消息,并设法通过以下操作发送“ Ping”以在手机上接收“ Pong”:https://pimylifeup.com/raspberry-pi-telegram-bot/
我创建了此脚本:https://www.raspberrypi.org/forums/viewtopic.php?t=252300这样我就可以在Raspberry PI上播放视频(当直接从CMD调用时,它可以工作)
[我的想法是以PLAY-youtube-link.com的格式向Raspberry PI发送消息,以使用LUA捕获该消息并调用脚本来播放youtube视频。
播放youtube视频的脚本已保存为“ ytplayvlc”:
#!bin/bash
youtube-dl - U -f $2 -o - "$1" | vlc -
动作脚本保存在子文件夹/ tg中,名为“ actions.lua”:
function on_msg_receive (msg)
if msg.out then
return
end
if (msg.text == 'ping') then
send_msg (msg.from.print_name, 'pong', ok_cb, false)
end
if (message.match(message, "PLAY-")) then
send_msg (msg.from.print_name, 'Okay! This might take a second..', ok_c$, ok_cb, false)
local link = string.match(message, "-(.*)")
local command = [["../ytplayvlc " .. link .. " 18"]]
os.execute(command)
end
end
function on_our_id(id)
end
function on_secret_chat_update(user, what_changed)
end
function on_user_update(user_what_changed)
end
function on_chat_update(user, what_changed)
end
function on_get_difference_end()
end
function on_binlog_replay_end()
end
我以以下方式启动电报CLI:
bin/telegram-cli -k -N --enable-msg-id tg-server.pub -W -a actions.lua
Ping-Pong的效果很好,但是当我发送命令播放youtube视频时,收到了消息“好!这可能需要一秒钟..”,但随后什么也没发生。另外,当我使用Ping-Pong或youtube命令时,收到上述消息后,我立即收到CMD中的消息“ lua ::尝试调用nil值”
我不知道为什么,如果有人有主意,请让我知道。.我没有上述任何一种技术的经验,如果我错过了一些信息,我深表歉意。谢谢。
我解决了这个问题!!我删除了命令周围的方括号。所以现在这行是:local command =“ ../ytplayvlc” .. link ..“ 18”