강좌/RaspberryPI 활용
라즈베리파이 Telegram BOT 만들기 5부 - Telegram CLI BOT 최종
2015/11/04 github 주소가 수정 되었습니다.
https://github.com/acidpop/bot
2015/08/05 소스가 수정되었습니다.
기존에 소스는 Shell Script 파일이 실행 권한이 빠져 있어서 제대로 작동을 안하는 문제가 있었습니다.
그외 help.txt 파일의 오타가 수정되었습니다.
소스를 다시 받으시면 됩니다.
GitHub 를 통해 지금까지 완성된 BOT 스크립트를 공개합니다.
공개된 BOT을 사용하기 위해서는 다음 라이브러리의 설치가 필요합니다.
sqlite3 는 내부적으로 사용하는 File DB를 사용하기 위함.
xml2 는 토렌트 검색 등으로 rss 를 받아 오는 경우
xmlstarlet : 마찬가지로 xml 툴인데 기상청 데이터의 데이터를 파싱하기 위해 사용
imagemagick : Image를 조정 할수 있는 유틸리티
BOT을 사용해봅니다.
아래 명령을 실행합니다.
모든 설명은 스크립트 내부에 있으며 BOT 을 실행 하는 방법은 다음과 같습니다.
cd /home/pi/tg
sudo sh -c 'echo "" > /var/log/telegram-cli.log'
sudo chown pi:pi /var/log/telegram-cli.log
bin/telegram-cli -s bot/basicbot.lua -L /var/log/telegram-cli.log -P 8888 -e "contact_list" -d &
지금까지 강좌를 모두 따라 왔다면
sudo service telegramd start
위 명령 한줄로 실행 할 수 있습니다.
총 5부에 걸쳐 Telegram CLI 를 활용 하는 방법에 대해 알아 보았습니다.
GitHub 주소는 아래와 같습니다.
https://github.com/acidpop/bot
질문이 있으시면 댓글 또는 제 블로그의 질문 게시판을 이용해 주시면 됩니다.
2015/07/15 - [강좌/Raspberry PI 활용] - 라즈베리파이 Telegram BOT 만들기 1부 - Telegram cli 설치
2015/07/16 - [강좌/Raspberry PI 활용] - 라즈베리파이 Telegram BOT 만들기 2부 - Telegram cli 기초 사용법
2015/07/16 - [강좌/Raspberry PI 활용] - 라즈베리파이 Telegram BOT 만들기 3부 - Telegram cli BOT 의 뼈대 만들기
2015/07/21 - [강좌/Raspberry PI 활용] - 라즈베리파이 Telegram BOT 만들기 4부 - Telegram CLI 데몬 실행 및 서비스 등록
'강좌 > RaspberryPI 활용' 카테고리의 다른 글
라즈베리파이 공식 7인치 LCD (DSI) 멀티 터치 사용하기 (5) | 2015.09.23 |
---|---|
Raspberry Pi DSI Display Multi Touch (0) | 2015.09.22 |
유튜브 다운로드 (0) | 2015.09.01 |
라즈베리파이 Telegram - PHP를 이용하여 메시지 보내기 (7) | 2015.08.13 |
라즈베리파이 Telegram BOT 만들기 5부 - Telegram CLI BOT 최종 (27) | 2015.07.22 |
라즈베리파이 Telegram BOT 만들기 4부 - Telegram CLI 데몬 실행 및 서비스 등록 (35) | 2015.07.21 |
라즈베리파이 Telegram BOT 만들기 3부 - Telegram cli BOT 의 뼈대 만들기 (22) | 2015.07.16 |
라즈베리파이 Telegram BOT 만들기 2부 - Telegram cli 기초 사용법 (3) | 2015.07.16 |
라즈베리파이 Telegram BOT 만들기 1부 - Telegram cli 설치 (29) | 2015.07.15 |
'강좌/RaspberryPI 활용'의 다른글
- 이전글라즈베리파이 Telegram BOT 만들기 4부 - Telegram CLI 데몬 실행 및 서비스 등록
- 현재글라즈베리파이 Telegram BOT 만들기 5부 - Telegram CLI BOT 최종
- 다음글라즈베리파이 Telegram - PHP를 이용하여 메시지 보내기
관련글
-
^_^ 2015.10.26 00:27
좋은 강의 잘 보았습니다^_^ 질문이 있는데요
답글
사진 전송시 자동저장되는 경로가 home/pi/.telegram-cli/downloads 인데 이 경로 지정은 어디서 변경할 수 있나요?
스크립트내에 있을까해서 이것저것 뒤져봤는데 찾지를 못해서요ㅠ_ㅠ-
안녕하세요.
Telegram CLI 의 download 경로를 변경 하려면 소스 레벨에서 수정을 해야 되는걸로 보입니다.
소스 레벨을 수정한는것 보다는
recv_file.lua 파일에 보시면
RecvFile 함수와 save_file 함수가 있습니다.
RecvFile 함수는 수신 받은 메시지 중에서 미디어 타입이 photo 또는 document 일때만 작동하도록 되어 있고 save_file 이라는 함수를 같이 호출해 줍니다.
즉, 다운로드가 완료되면 save_file 이라는 함수가 호출 되는 구조입니다.
save_file 함수를 가서 보시면 아래쪽에 확장자가 torrent 라면 이라는 주석이 있는데
file 이라는 변수가 다운로드 된 파일의 전체 경로입니다.
local move_cmd = 'mv ' .. file .. '이동할 경로'
이렇게 적어 주시고 ExecuteCommand(move_cmd)
이렇게 하시면 됩니다.
-
-
-
good 2016.01.09 02:10
좋은 강의 잘 보았습니다.
답글
궁금한게 있는데요 torrent.lua 에서 DownloadTorrent 함수 내부에서 마그넷 링크/url_download 를 하는데요
url_download를 호출 할 수가 없다고 합니다. -
워류겐 2016.04.27 21:02
안녕하세요.
답글
좋은정보 정말 감사드립니다.
정말 요긴하게 써먹고 있습니다.
최근 새로운 서버에 설치후 acidpop님이 github에 커밋하신 bot 을 받아서 설치해 보았습니다.
작동이 안되길래 디버깅하다 문제코드를 찾았습니다. ㅠㅠ
이전에는 잘 동작했는데 telegram-cli 가 업데이트 되었나 봅니다.
function on_msg_receive (msg) 함수에서
if (msg.to.id == our_id) then 이 부분을
if (msg.to.peer_id == our_id) then 이렇게 고쳐야 동작이 되네요.
peer_id 라는게 새로 생겨났네요;
-
제발 2016.11.24 14:15
telegram 을이용해서 문자 전송까지는 되었습니다. 하지만 저희가 하려고 하는게 적외선 센서를 인식하였을 때 문자가 스마트폰으로 자동으로 전송되게 하고 싶은데 어떻게 해야되는지 가르쳐 주신다면 감사하겠습니다.
답글 -
-
-
죄송하지만
http://blog.acidpop.kr/186
혹시 이 글에 있는 스크립만 basicbot.lua 로 해놓고
실행 하신거 아닌가요?
5부 최종 블로그 글은
https://github.com/acidpop/bot.git
github 에서 소스를 받은 다음
다운로드 받은 소스의 basicbot.lua 를 옵션으로 주셔야 하는데 4부에 있는 basicbot.lua 를 가지고 봇을 실행 하신거 같은데요
basicbot.lua 파일을 열어서 확인해보세요
"날씨" 라는 메시지 전송이 어떻게 작동하는지 조금만 보시면 알수 있습니다.
-
-
알 수 없는 사용자 2017.04.10 23:10
4부의 basicbot.lua를 지우고
답글
5부에서 받은 basicbot.lua를 넣고 실행시키면
cli daemon 이 stopped 멈춥니다 -
got987junsuk 2017.07.08 11:40
./bot/common.lua:8: module 'socket' not found:
답글
라고 해서 no file socket관련 에러들이 뜨는데 어떻게 할 수 있을까요? -
라즈베리파이 2017.08.31 17:46
no field package.preload['socket']
답글
no file '/usr/local/share/lua/5.2/socket.lua'
no file '/usr/local/share/lua/5.2/socket/init.lua'
no file '/usr/local/lib/lua/5.2/socket.lua' no file '/usr/local/lib/lua/5.2/socket/init.lua' no file '/usr/share/lua/5.2/socket.lua'
no file '/usr/share/lua/5.2/socket/init.lua'
no file './socket.lua'
no file '/usr/local/lib/lua/5.2/socket.so'
no file '/usr/lib/arm-linux-gnueabihf/lua/5.2/socket.so' no file '/usr/lib/lua/5.2/socket.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './socket.so' -
gawoon 2017.10.02 17:32
덕분에 라즈베리파이 최근 버전에 telegram-cli 설치를 마무리 할 수 있었습니다.
답글
아직 해결되지 않은 두 가지가 있는데
1. 저는 리부팅을 하면 telegramd 서비스가 자동으로 되지 않습니다. 무슨 문제일까요?
재부팅 후 sudo /etc/init.d/telegramd start를 꼭 실행해야하네요.
2. 토렌트는 내부에 있는 주소를 변경해서 검색어를 입력하면 목록 다운까지는 됩니다만 다운 번호를 입력하면 뻗어버립니다.
재부팅 하고 telegramd start 를 시켜도 토렌트 다운은 되지 않네요.
magnet 링크를 추가하였습니다.
다운로드 링크가 magnet 입니다.
마그넷 링크 추가를 요청합니다.
메시지 창에는 이렇게 뜹니다.
도움 부탁드립니다.