diff --git a/README.md b/README.md index 48a11ff..2dc2173 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Installation ```bash # Tested on Ubuntu 14.04, for other OSs check out https://github.com/vysheng/tg#installation -$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev +$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev unzip git $ cd /tmp $ wget http://luarocks.org/releases/luarocks-2.2.0.tar.gz $ tar -xzvf luarocks-2.2.0.tar.gz @@ -50,8 +50,8 @@ $ sudo luarocks install luasocket ```bash # After those dependencies, lets install the bot $ cd $HOME -$ git clone git@github.com:yagop/telegram-bot.git --recursive +$ git clone https://github.com/yagop/telegram-bot.git --recursive $ cd telegram-bot/tg $ ./configure && make $ cd .. && ./launch.sh # Will ask you for a phone number & confirmation code. -``` \ No newline at end of file +``` diff --git a/bot/bot.lua b/bot/bot.lua index 12f9f33..0e2e7b4 100644 --- a/bot/bot.lua +++ b/bot/bot.lua @@ -71,7 +71,7 @@ result = desc.run(msg, matches) print(" sending", result) if (result) then - send_msg(receiver, result, ok_cb, false) + _send_msg(receiver, result) return end end @@ -79,6 +79,24 @@ end end + -- If text is longer than 4096 chars, send multiple msg. + -- https://core.telegram.org/method/messages.sendMessage + function _send_msg( destination, text) + local msg_text_max = 4096 + local len = string.len(text) + local iterations = math.ceil(len / msg_text_max) + + for i = 1, iterations, 1 do + print ("iteracion: "..i) + local inital_c = i * msg_text_max - msg_text_max + local final_c = i * msg_text_max + -- dont worry about if text length < msg_text_max + local text_msg = string.sub(text,inital_c,final_c) + send_msg(destination, text_msg, ok_cb, false) + end + end + + function load_config() local f = assert(io.open('./bot/config.json', "r")) local c = f:read "*a"