Я расширяю следующий пример для связи с моей Raspberry Pi с помощью Telegram:
http://www.instructables.com/id/Raspberry-remote-control-with-Telegram/
Я использую следующий фрагмент кода:
#!/usr/local/bin/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)
elseif (msg.text=='Photo') then
os.execute[["scriptToTakePhoto]]
send_photo (msg.from.print_name, '/pathToPhoto.jpg', ok_cb, false)
send_msg (msg.from.print_name, 'Here you go!', ok_cb, false)
elseif (msg.text=='Hello'or msg.text =='Hi') then
send_msg (msg.from.print_name, 'Hi, how can I help you?', ok_cb, false)
else
math.randomseed(os.time())
randNum = math.random(0,5)
if randNum == 0 then
messageText = "Random Text"
elseif randNum == 1 then
messageText = "Random Text"
elseif randNum == 2 then
messageText = "Random Text"
elseif randNum == 3 then
messageText = "Random Text"
elseif randNum == 4 then
messageText = "Random Text"
elseif randNum == 5 then
messageText = "Random Text"
end
send_msg (msg.from.print_name, messageText, ok_cb, false)
end
end
Я получаю следующий вывод:
Пинг->Понг
Привет->Привет, чем я могу вам помочь?
Здравствуйте->Привет, чем я могу вам помочь?
[Все остальное]->Случайный текст
Фото-> Ну вот! [фото получено] Случайный текст
Поэтому, когда я отправляю какое-либо сообщение в if/ifelse, кроме Photo, последнее еще не достигается. Когда я отправляю «Фото», оно попадает в это поле, а также в последнее. Не могу понять, почему.
math.randomseed
передmath.random
. См. stackoverflow.com/a/35455929/107090. - person lhf   schedule 29.02.2016os.execute[["scriptToTakePhoto]]
- person Adam B   schedule 01.03.2016